{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ehLrbLNHrToW"
   },
   "source": [
    "参数高效微调"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "OeloYJUsv7fp",
    "outputId": "93817534-0aca-4640-eb71-fc8555b593dd"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n"
     ]
    }
   ],
   "source": [
    "from google.colab import drive\n",
    "drive.mount('/content/drive')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "aqMw-VTtxUwy",
    "outputId": "53e2f19c-86bc-4bb1-dec9-a6b0f7e8ed33"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "/content/drive/MyDrive\n"
     ]
    }
   ],
   "source": [
    "%cd /content/drive/MyDrive/"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "RhtxobIIxhEj",
    "outputId": "2326e266-a876-429b-9140-25198591c0f8"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "data  README.md\n"
     ]
    }
   ],
   "source": [
    "!ls sst2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "X3N6AcAf0T5c",
    "outputId": "3c1599d3-1f8c-4b01-f224-0c585ced474c"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Requirement already satisfied: datasets==2.20.0 in /usr/local/lib/python3.11/dist-packages (2.20.0)\n",
      "Requirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (3.17.0)\n",
      "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (2.0.2)\n",
      "Requirement already satisfied: pyarrow>=15.0.0 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (18.1.0)\n",
      "Requirement already satisfied: pyarrow-hotfix in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (0.6)\n",
      "Requirement already satisfied: dill<0.3.9,>=0.3.0 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (0.3.8)\n",
      "Requirement already satisfied: pandas in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (2.2.2)\n",
      "Requirement already satisfied: requests>=2.32.2 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (2.32.3)\n",
      "Requirement already satisfied: tqdm>=4.66.3 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (4.67.1)\n",
      "Requirement already satisfied: xxhash in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (3.5.0)\n",
      "Requirement already satisfied: multiprocess in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (0.70.16)\n",
      "Requirement already satisfied: fsspec<=2024.5.0,>=2023.1.0 in /usr/local/lib/python3.11/dist-packages (from fsspec[http]<=2024.5.0,>=2023.1.0->datasets==2.20.0) (2024.5.0)\n",
      "Requirement already satisfied: aiohttp in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (3.11.13)\n",
      "Requirement already satisfied: huggingface-hub>=0.21.2 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (0.28.1)\n",
      "Requirement already satisfied: packaging in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (24.2)\n",
      "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.11/dist-packages (from datasets==2.20.0) (6.0.2)\n",
      "Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (2.6.1)\n",
      "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (1.3.2)\n",
      "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (25.3.0)\n",
      "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (1.5.0)\n",
      "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (6.1.0)\n",
      "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (0.3.0)\n",
      "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.11/dist-packages (from aiohttp->datasets==2.20.0) (1.18.3)\n",
      "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub>=0.21.2->datasets==2.20.0) (4.12.2)\n",
      "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets==2.20.0) (3.4.1)\n",
      "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets==2.20.0) (3.10)\n",
      "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets==2.20.0) (2.3.0)\n",
      "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests>=2.32.2->datasets==2.20.0) (2025.1.31)\n",
      "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/dist-packages (from pandas->datasets==2.20.0) (2.8.2)\n",
      "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.11/dist-packages (from pandas->datasets==2.20.0) (2025.1)\n",
      "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.11/dist-packages (from pandas->datasets==2.20.0) (2025.1)\n",
      "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.8.2->pandas->datasets==2.20.0) (1.17.0)\n"
     ]
    }
   ],
   "source": [
    "!pip install datasets==2.20.0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "sZIveOaaxZ08",
    "outputId": "fe08914d-3053-4366-c89b-efaa4698be05"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "datasets                           2.20.0\n",
      "tensorflow-datasets                4.9.8\n",
      "vega-datasets                      0.9.0\n"
     ]
    }
   ],
   "source": [
    "!pip list|grep datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "id": "0oxkIr87vBqP"
   },
   "outputs": [],
   "source": [
    "from datasets import load_dataset\n",
    "from transformers import AutoTokenizer, AutoConfig, AutoModel, get_cosine_schedule_with_warmup\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "from torch.utils.data import DataLoader\n",
    "import numpy as np\n",
    "from tqdm.auto import tqdm\n",
    "\n",
    "# 固定seed\n",
    "torch.manual_seed(233)\n",
    "# 确定设备：如果有GPU可用则使用GPU，否则使用CPU\n",
    "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
    "#如果GPU可以，可以改为20\n",
    "num_epochs = 5\n",
    "patience = 5\n",
    "\n",
    "training_record = {}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "h79S1K__vBqR"
   },
   "source": [
    "## preparation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "H-rDGRn0pOaZ"
   },
   "source": [
    "SST-2（Stanford Sentiment Treebank）是斯坦福大学发布的一个用于情感分析的数据集，旨在对句子的情感进行分类。该数据集中包含电影评论句子，每个句子都带有相应的情感标签。情感标签分为两类：正面（positive）和负面（negative），因此 SST-2 是一个二分类任务的数据集。\n",
    "\n",
    "Positive（正面）：\n",
    "\n",
    "\"The movie was absolutely fantastic.\"（这部电影绝对太棒了。）\n",
    "\"I loved the acting and the storyline.\"（我喜欢演技和故事情节。）\n",
    "\n",
    "Negative（负面）：\n",
    "\n",
    "\"The film was a complete disaster.\"（这部电影完全是个灾难。）\n",
    "\"The acting was terrible, I wouldn't recommend it.\"（演技糟糕，我不推荐这部电影。）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "KGYqrQrMvBqT"
   },
   "source": [
    "### load dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "id": "dojwvamGvBqT"
   },
   "outputs": [],
   "source": [
    "# https://huggingface.co/google-bert/bert-base-uncased\n",
    "# tokenizer，加载bert的分词器,uncased就是不区分大小写\n",
    "tokenizer = AutoTokenizer.from_pretrained(\"bert-base-uncased\")\n",
    "\n",
    "# dataset\n",
    "dataset_sst2 = load_dataset(\n",
    "    \"parquet\",\n",
    "    data_files={\n",
    "        \"train\": \"./sst2/data/train-00000-of-00001.parquet\",\n",
    "        \"validation\": \"./sst2/data/validation-00000-of-00001.parquet\"\n",
    "        })\n",
    "\n",
    "# preprocessing\n",
    "def collate_fn(batch):\n",
    "    #对字符串文本，进行编码，变为id\n",
    "    inputs = tokenizer([x[\"sentence\"] for x in batch], padding=\"longest\", truncation=True, return_tensors=\"pt\", max_length=512)\n",
    "    labels = torch.tensor([x[\"label\"] for x in batch])\n",
    "    return inputs, labels\n",
    "\n",
    "train_loader = DataLoader(dataset_sst2[\"train\"], batch_size=32, shuffle=True, collate_fn=collate_fn)\n",
    "val_loader = DataLoader(dataset_sst2[\"validation\"], batch_size=32, collate_fn=collate_fn)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "id": "HjnG1yZ3If6l",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "fe0a6725-effa-429d-9ddd-ab13fbbf74a6"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "67349"
      ]
     },
     "metadata": {},
     "execution_count": 15
    }
   ],
   "source": [
    "len(dataset_sst2[\"train\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "id": "Kn_zv4hImexo",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "e0cc8309-acd2-4234-cb30-42b0cc3b67b4"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "tensor([  101, 10720,   102,     0,     0,     0,     0,     0,     0,     0,\n",
      "            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,\n",
      "            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,\n",
      "            0,     0,     0,     0,     0,     0,     0,     0])\n",
      "torch.Size([32, 38])\n",
      "tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
      "        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n",
      "tensor([0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0,\n",
      "        0, 0, 1, 1, 1, 1, 0, 1])\n"
     ]
    }
   ],
   "source": [
    "# 遍历 DataLoader 中的一个批次示例\n",
    "for inputs,label in train_loader:\n",
    "    print(inputs['input_ids'][0])\n",
    "    print(inputs['attention_mask'].shape)\n",
    "    print(inputs['token_type_ids'][0])\n",
    "    print(label)\n",
    "    break"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "kR8TcgzNvBqU"
   },
   "source": [
    "### define evaluattion and training function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "id": "MC8lVzZZvBqU"
   },
   "outputs": [],
   "source": [
    "def evaluate(model, val_loader):\n",
    "    model.eval()\n",
    "    val_loss = 0\n",
    "    val_acc = 0\n",
    "    with torch.no_grad():# 在评估过程中关闭梯度计算\n",
    "        total_samples = 0\n",
    "        for inputs, labels in val_loader:\n",
    "            inputs = {k: v.to(device) for k, v in inputs.items()} #输入是一个字典，所以拿value\n",
    "            labels = labels.to(device)\n",
    "            probs = model(**inputs)\n",
    "            loss = F.binary_cross_entropy(probs, labels.float())\n",
    "            val_loss += loss.item()\n",
    "            val_acc += ((probs > 0.5) == labels).sum().item() #模型的预测结果与实际标签是否相等,求和得到预测正确数量\n",
    "            total_samples += len(labels)\n",
    "\n",
    "    val_loss /= len(val_loader)\n",
    "    val_acc /= total_samples\n",
    "    return val_loss, val_acc\n",
    "\n",
    "\n",
    "def train(model, train_loader, val_loader, device, num_epochs=3, patience=3):\n",
    "    # 将模型移动到指定设备\n",
    "    model.to(device)\n",
    "\n",
    "    # 定义优化器\n",
    "    optimizer = torch.optim.AdamW(model.parameters(), lr=1e-5)\n",
    "\n",
    "    # 计算训练步数总数\n",
    "    total_steps = num_epochs * len(train_loader)\n",
    "\n",
    "    # 使用transformers库中的余弦学习率调度器进行学习率调整\n",
    "    scheduler = get_cosine_schedule_with_warmup(\n",
    "        optimizer,\n",
    "        num_warmup_steps=int(0.2 * total_steps), #前20%步，学习率提升\n",
    "        num_training_steps=total_steps\n",
    "    )\n",
    "\n",
    "    # 提前停止训练的控制变量\n",
    "    best_val_acc = -1\n",
    "    cur = 0\n",
    "\n",
    "    # 存储训练和验证指标的容器\n",
    "    history = {\"train_loss\": [], \"train_acc\": [], \"val_loss\": [], \"val_acc\": []}\n",
    "\n",
    "    for epoch in range(num_epochs):\n",
    "        # 进入训练模式\n",
    "        model.train()\n",
    "        train_loss = 0\n",
    "        train_acc = 0\n",
    "        total_samples = 0\n",
    "\n",
    "        # 对训练数据进行迭代\n",
    "        for inputs, labels in tqdm(train_loader):\n",
    "            # 将数据移动到指定设备\n",
    "            inputs = {k: v.to(device) for k, v in inputs.items()}\n",
    "            labels = labels.to(device)\n",
    "\n",
    "            # 前向传播并计算损失\n",
    "            optimizer.zero_grad()\n",
    "            probs = model(**inputs)\n",
    "            loss = F.binary_cross_entropy(probs, labels.float())\n",
    "            loss.backward()\n",
    "            optimizer.step()\n",
    "            scheduler.step()\n",
    "\n",
    "            # 收集指标\n",
    "            train_loss += loss.item()\n",
    "            train_acc += ((probs > 0.5) == labels).sum().item()\n",
    "            total_samples += len(labels)\n",
    "\n",
    "        train_loss /= len(train_loader)\n",
    "        train_acc  /= total_samples\n",
    "\n",
    "        # 进行验证\n",
    "        val_loss, val_acc = evaluate(model, val_loader)\n",
    "\n",
    "        # 记录指标\n",
    "        print(f\"epoch {epoch}: train_loss {train_loss:.4f}, train_acc {train_acc:.4f}, val_loss {val_loss:.4f}, val_acc {val_acc:.4f}\")\n",
    "        history[\"train_loss\"].append(train_loss)\n",
    "        history[\"train_acc\"].append(train_acc)\n",
    "        history[\"val_loss\"].append(val_loss)\n",
    "        history[\"val_acc\"].append(val_acc)\n",
    "\n",
    "        # 提前停止训练\n",
    "        if val_acc > best_val_acc:\n",
    "            best_val_acc = val_acc\n",
    "            cur = 0\n",
    "        else:\n",
    "            cur += 1\n",
    "        if cur >= patience:\n",
    "            print(\"提前停止训练\")\n",
    "            break\n",
    "\n",
    "    return history"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "GVaBjl-zvBqU"
   },
   "source": [
    "### a function to check the parameters that could be fintuned"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "id": "jio4CGkJvBqV"
   },
   "outputs": [],
   "source": [
    "def human_readable_count(n):\n",
    "    # 定义一个函数，用于处理可读性较好的数字格式\n",
    "    if n < 1_000:\n",
    "        return f\"{n}\"\n",
    "    elif n < 1_000_000:\n",
    "        return f\"{n/1_000:.2f}K\"  # 如果在千到百万之间，使用K表示\n",
    "    elif n < 1_000_000_000:\n",
    "        return f\"{n/1_000_000:.2f}M\"  # 如果在百万到十亿之间，使用M表示\n",
    "    else:\n",
    "        return f\"{n/1_000_000_000:.2f}B\"  # 如果大于十亿，使用B表示\n",
    "\n",
    "\n",
    "def count_parameters(model):\n",
    "    # 统计模型参数\n",
    "    total_params = sum(p.numel() for p in model.parameters())  # 总参数数量\n",
    "    trainable_params = sum(p.numel() for p in model.parameters() if p.requires_grad)  # 可训练参数数量\n",
    "    frozen_params = total_params - trainable_params  # 冻结参数数量\n",
    "\n",
    "    # 输出参数数量\n",
    "    print(f\"Total Parameters:\\t{human_readable_count(total_params):>8}\")  # 输出总参数数量（格式化为可读性更好的格式）\n",
    "    print(f\"Frozen Parameters:\\t{human_readable_count(frozen_params):>8}\")  # 输出冻结参数数量（格式化为可读性更好的格式）\n",
    "    print(f\"Trainable Parameters:\\t{human_readable_count(trainable_params):>8}\\t{trainable_params / total_params:.2%}\")  # 输出可训练参数数量以及所占比例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "id": "NFjQBYDem1FK"
   },
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt  # 导入绘图库\n",
    "\n",
    "def plot_training_record(training_record, metric_name=\"val_acc\"):\n",
    "    \"\"\"\n",
    "    绘制训练记录图表\n",
    "\n",
    "    参数:\n",
    "    training_record(dict): 包含训练记录的字典，键为方法名称，值为记录的字典\n",
    "    metric_name(str): 要绘制的度量名称，默认为\"val_acc\"（验证准确度）\n",
    "\n",
    "    返回:\n",
    "    无（直接展示图表）\n",
    "    \"\"\"\n",
    "    plt.figure(figsize=(12, 6))  # 设置图表大小\n",
    "    for method_name, record in training_record.items():  # 遍历每个方法的记录\n",
    "        metrics = record[metric_name]  # 获取指定度量的数值\n",
    "        plt.plot(range(len(metrics)), metrics, label=method_name)  # 绘制折线图\n",
    "\n",
    "    plt.xlabel(\"Epoch\")  # 设置X轴标签\n",
    "    plt.ylabel(\"Validation Accuracy\")  # 设置Y轴标签\n",
    "    plt.legend()  # 显示图例\n",
    "    plt.grid()  # 显示网格线\n",
    "    plt.show()  # 展示图表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 760,
     "referenced_widgets": [
      "41f4ceb146a048c18209924db64ec21c",
      "bde773a67d664fab9099304bf99a2bb5",
      "9b26bb4973aa4804b2a076d493911e3c",
      "a6d56826c1574c2fba282b25a634683d",
      "d17ec35376a74e2984b3bf56776f3e88",
      "c2091c0e8cfb410b8ee73b8d93778829",
      "facdd07946854ef8bb587080fa17c4b0",
      "338a68b7cbc64cf685e1775260ef519f",
      "10879a0da7004026935efd7593e5f529",
      "6102b42aa48745ff85859256bd3dff01",
      "0e183026a9024bcaa2a8b762b4f5bbf8"
     ]
    },
    "id": "8AGKF7jAG5l3",
    "outputId": "cc48491d-3911-4325-c3f0-816bd435e9af"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "model.safetensors:   0%|          | 0.00/440M [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "41f4ceb146a048c18209924db64ec21c"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "BertModel(\n",
      "  (embeddings): BertEmbeddings(\n",
      "    (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
      "    (position_embeddings): Embedding(512, 768)\n",
      "    (token_type_embeddings): Embedding(2, 768)\n",
      "    (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "    (dropout): Dropout(p=0.1, inplace=False)\n",
      "  )\n",
      "  (encoder): BertEncoder(\n",
      "    (layer): ModuleList(\n",
      "      (0-11): 12 x BertLayer(\n",
      "        (attention): BertAttention(\n",
      "          (self): BertSdpaSelfAttention(\n",
      "            (query): Linear(in_features=768, out_features=768, bias=True)\n",
      "            (key): Linear(in_features=768, out_features=768, bias=True)\n",
      "            (value): Linear(in_features=768, out_features=768, bias=True)\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "          )\n",
      "          (output): BertSelfOutput(\n",
      "            (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "          )\n",
      "        )\n",
      "        (intermediate): BertIntermediate(\n",
      "          (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
      "          (intermediate_act_fn): GELUActivation()\n",
      "        )\n",
      "        (output): BertOutput(\n",
      "          (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
      "          (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "          (dropout): Dropout(p=0.1, inplace=False)\n",
      "        )\n",
      "      )\n",
      "    )\n",
      "  )\n",
      "  (pooler): BertPooler(\n",
      "    (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "    (activation): Tanh()\n",
      "  )\n",
      ")\n"
     ]
    }
   ],
   "source": [
    "bert_model=AutoModel.from_pretrained(\"bert-base-uncased\")\n",
    "print(bert_model)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "yMxv01fMvBqV"
   },
   "source": [
    "## A Frozen pretrained Bert as a feature extractor  将预训练过的Bert冻结作为特征提取器"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "Q-_6NfDPvBqV",
    "outputId": "d07a064f-f3d4-4169-ac9b-77d83d899dd9"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "FrozenBert(\n",
      "  (model): BertModel(\n",
      "    (embeddings): BertEmbeddings(\n",
      "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
      "      (position_embeddings): Embedding(512, 768)\n",
      "      (token_type_embeddings): Embedding(2, 768)\n",
      "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "      (dropout): Dropout(p=0.1, inplace=False)\n",
      "    )\n",
      "    (encoder): BertEncoder(\n",
      "      (layer): ModuleList(\n",
      "        (0-11): 12 x BertLayer(\n",
      "          (attention): BertAttention(\n",
      "            (self): BertSdpaSelfAttention(\n",
      "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "            )\n",
      "            (output): BertSelfOutput(\n",
      "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "            )\n",
      "          )\n",
      "          (intermediate): BertIntermediate(\n",
      "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
      "            (intermediate_act_fn): GELUActivation()\n",
      "          )\n",
      "          (output): BertOutput(\n",
      "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
      "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "          )\n",
      "        )\n",
      "      )\n",
      "    )\n",
      "    (pooler): BertPooler(\n",
      "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "      (activation): Tanh()\n",
      "    )\n",
      "  )\n",
      "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
      ")\n",
      "Total Parameters:\t 109.48M\n",
      "Frozen Parameters:\t 109.48M\n",
      "Trainable Parameters:\t     769\t0.00%\n"
     ]
    }
   ],
   "source": [
    "# https://huggingface.co/docs/transformers/model_doc/bert 官网帮助\n",
    "# 定义一个继承自 nn.Module 的 FrozenBert 类\n",
    "class FrozenBert(nn.Module):\n",
    "    def __init__(self):\n",
    "      super().__init__()\n",
    "      # 加载预训练的BERT模型（不区分大小写的版本），因为下载模型，需要等待一下\n",
    "      self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
    "\n",
    "      # 添加一个线性分类器，其输入尺寸是BERT模型的隐藏层尺寸，输出是1\n",
    "      self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
    "\n",
    "      # 冻结BERT模型的所有参数，这样在训练过程中它们不会被更新\n",
    "      for param in self.model.parameters():\n",
    "          param.requires_grad = False\n",
    "\n",
    "    # 定义前向传播过程\n",
    "    def forward(self, **inputs):\n",
    "      # 获取BERT的最后一个隐藏层的输出，并选中序列的第一项（[CLS] token）,肯定不可以选最后一个，可以尝试平均\n",
    "      feature = self.model(**inputs).last_hidden_state[:, 0, :]\n",
    "      # 将特征通过线性分类器获取对数几率\n",
    "      logits = self.classifier(feature)\n",
    "      # 应用sigmoid激活函数并将结果集中成一维输出\n",
    "      return torch.sigmoid(logits).squeeze()\n",
    "\n",
    "\n",
    "# 实例化FrozenBert类，创建一个模型对象\n",
    "frozen_bert = FrozenBert()\n",
    "print(frozen_bert)\n",
    "# for name, param in frozen_bert.named_parameters(): # 打印模型参数\n",
    "#   print(name, param.shape)\n",
    "# 定义一个函数（此函数未在代码中提供），用来计算模型的参数数量\n",
    "count_parameters(frozen_bert)\n",
    "\n",
    "# training_record一个训练记录字典，来记录不同训练阶段的信息，在最上面进行的初始化\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "yMN6UtlZ3RNt",
    "outputId": "840847cb-0118-4ede-d725-ba880f49dd56"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "blobs  refs  snapshots\n"
     ]
    }
   ],
   "source": [
    "!ls /root/.cache/huggingface/hub/models--bert-base-uncased/"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "id": "VFOBbWPgsp8t",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 264,
     "referenced_widgets": [
      "7e104e00cb6848638be3853c498018a8",
      "af665e31f48248b5950f05f10c426d42",
      "48286038c4f94f778b5bfc7ef2b54058",
      "10f92a5bdc0444a4bf6ef65b6ecb9f1f",
      "6b634ec9471440e78449cfe9b0b7850d",
      "6137abf43dd54772b1323df052db9c48",
      "fe0e83d3cc2e4768ab9919a1fc12b791",
      "485f02cbe1ac4718bd8194d19a6ea109",
      "4c17d10cb39f450bbbae38841a88040b",
      "714bcb3b903f4aa2b50e56f06d6dd100",
      "568e2bb8896e48b88586bffd358aad51",
      "31fd92658fa14b12bf079cb5871b576f",
      "20b523ca8ab148af83e93a82c4eecfd3",
      "75536117efd14f088ee8241f38e032c7",
      "bab84f50d6344663a51cbded8769125f",
      "28e60490bf544347ad2a0fe5c0c24173",
      "f488f57877d2479b968cab461da83128",
      "1804dd8882274cb48ad096a995892c22",
      "84a0a04ef3444ac6a6805137f34a37fb",
      "f8a78ac822c542efa213f79aaf45e94a",
      "ded732d21fe04dc08f418eb2575e8dba",
      "0140c9e5c835488f8a98b78cf08f88e6",
      "beea705fa5ae44fb8ec9eebe83f14681",
      "670418314edc4f08beef291cd928c55e",
      "539beb0966c84d4aa7e9da6417f03224",
      "37bf9c8a7fdc43e28366d13a43d5fd89",
      "f95e79e39982462096a76412ea77c1c2",
      "dbbfa1c10fcb44f9945f5474d7b47873",
      "8cf76341792d4480b71ae13a31beea9a",
      "7d0c07607296419fa9bfe94c28719d8e",
      "c4d74dfe0fa74116b68c2131517d142e",
      "4732e7ec5a9d4a558aa19364b4a253e1",
      "f080d737783a4b03b8f1b869f56194a1",
      "1abb1f6d8f3e467083305310990f4165",
      "43b1c2b104e34fcfbb186932cea432f4",
      "3a93fe25dc1f44febee7e4cf1752ae43",
      "f9ad8655d91c4adba0b2a785bf37bbb9",
      "db0b015ce578409cae767bb8f4d24207",
      "9d4b8c2456484634aca01595409cb273",
      "1ba5f4677eba4c39b908c7600001745d",
      "122654e19aac4a34b6ce27b59b2530c5",
      "8a2c5b31af9f4663896d6c0a6668e67a",
      "c04b2f64f3a24660bb8c579346ee3bf1",
      "c0ebfc9457924963ba141f7624aa55ff",
      "57b5dbf26aa6487cb55af274867f899d",
      "4967ac0ff0de45a29f9b50955e4cc91e",
      "072669a198ca4bc294d7ef0429032951",
      "ac1058c9a3e64884a5a00ae1dc0c264d",
      "5044d763bcdb438db329d535e945a63c",
      "87a1cea2534d4f8bb66b4bf289333a57",
      "8bd7899ce0654e1b91c1005cfeeb8a28",
      "79166971d31b4197abb353a2f68b9b68",
      "a85c5b573dbd43cb91137bb897d5c556",
      "90b51df9bd004d65a08ced5d23e56b57",
      "bc9a86dec45847deaa630995d987d1b4"
     ]
    },
    "outputId": "10cee0dd-5150-4ebc-a5fc-d4a86295f8ce"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "7e104e00cb6848638be3853c498018a8"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 0: train_loss 0.6931, train_acc 0.5096, val_loss 0.6775, val_acc 0.5424\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "31fd92658fa14b12bf079cb5871b576f"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 1: train_loss 0.6544, train_acc 0.6063, val_loss 0.6324, val_acc 0.6514\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "beea705fa5ae44fb8ec9eebe83f14681"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 2: train_loss 0.6241, train_acc 0.6696, val_loss 0.6021, val_acc 0.7466\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "1abb1f6d8f3e467083305310990f4165"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 3: train_loss 0.6078, train_acc 0.7128, val_loss 0.5899, val_acc 0.7626\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "57b5dbf26aa6487cb55af274867f899d"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 4: train_loss 0.6030, train_acc 0.7224, val_loss 0.5880, val_acc 0.7603\n"
     ]
    }
   ],
   "source": [
    "# 调用train函数来训练模型，传递模型对象、训练数据加载器、验证数据加载器、\n",
    "# 使用设备、训练迭代次数和早停耐心值（这些变量在代码中没有定义）\n",
    "training_record[\"Frozen\"] = train(frozen_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "id": "MWidlSxO4Mjh",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "947b552a-c6bd-46e1-8e07-b38ace077847"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "{'Frozen': {'train_loss': [0.6931437941741491,\n",
       "   0.6544107729352285,\n",
       "   0.6241318981041535,\n",
       "   0.6077914265725505,\n",
       "   0.6029904960453368],\n",
       "  'train_acc': [0.5095844036288586,\n",
       "   0.6062896256811534,\n",
       "   0.6695570832529065,\n",
       "   0.7128390918944602,\n",
       "   0.7223715274168881],\n",
       "  'val_loss': [0.6774813681840897,\n",
       "   0.6324016004800797,\n",
       "   0.6021397603409631,\n",
       "   0.5898863013301577,\n",
       "   0.5880132509129388],\n",
       "  'val_acc': [0.5424311926605505,\n",
       "   0.6513761467889908,\n",
       "   0.7465596330275229,\n",
       "   0.7626146788990825,\n",
       "   0.7603211009174312]}}"
      ]
     },
     "metadata": {},
     "execution_count": 24
    }
   ],
   "source": [
    "training_record"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "id": "i1BNLiyknAVD",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 446
    },
    "outputId": "ddb3d28d-b09f-454e-deda-d15da288782d"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ],
      "image/png": "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\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "plot_training_record(training_record, metric_name=\"val_acc\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "3I7dKw-4vBqV"
   },
   "source": [
    "## Fully Finetuning"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "id": "EkxJD6fevBqW",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000,
     "referenced_widgets": [
      "9bdfa08b70574fdb99cbbdf6f774163e",
      "5206b0a309bc4472a4ac21c9a26ccff0",
      "2845e80034624d9c8b50315336925e79",
      "13e75b83da584d928612d40556cc38cc",
      "201fb39e18a74b8da96f73e11b52efc3",
      "3f5ef10d94f14973b6caafd03274be73",
      "e05c63bc06054889a084bc0c08cee0b2",
      "bcb2c45ae9a04b45b352912fc7fe1c1d",
      "79105c5d3b0d4e889cdbbbb3e4c79439",
      "f7c1c4b6682a4871b52eb5cdfb5832e1",
      "569f196f66b5422196e3c20f01b2a250",
      "d5d8c229fa864b5f9186e3f9be6664b1",
      "630a04107e9f4c9689a203f239a92b97",
      "05839ae54b9d47a8803ade0695f83556",
      "cbcdc91a2bb849758e2bb0d2789b0937",
      "0118ce92fc274cdda87b3fc81bd6128d",
      "de2ba2dc3a2f4597a94f1568def90b8b",
      "3363ce1696d44c8680fab08049e917f4",
      "87513136bce84daabec0783b542f6a8a",
      "66e4e50c6db64ba9abc3b77c7bd48bd5",
      "090ae96718e24af6b5b07c040b1eab3c",
      "84206b4a29464ba683fd74d2e9cf72e4",
      "86e63d145b3044ec98e470e5f412baba",
      "2e914280616f4132b41044aa4c6dd5f9",
      "c87e9f95cc83437180f4425c5aae6994",
      "daaa9872f19e4a45bb7227e4361bd8f1",
      "e60bed9a696044e9bbe5814b7339ffa2",
      "494bdb2bf8534cc0a7cc3b01ea98590e",
      "759d64aeb11d4f6bad93ede8c2ba6ab6",
      "2c147408f7f548c9a4bfa5fe3935ca32",
      "88fb0af06f61429eb0e2f90994b57b43",
      "91a5001eb4ee4e40b996d915e490bfed",
      "eed3e5e6c51e4e898d3413c5a8c0f07b",
      "8be4055d58944b919185997549012e43",
      "f999b622af8d44c381f1b55a24bbdf3d",
      "abc71d0c96cb44e49b803d123824b152",
      "2a064280434d4a1f979104a05d4e0897",
      "8163f4b5dc9249e0bedb18e8032acd58",
      "bc3576b4191c455da2b38d4c831d4353",
      "ca5dd20a11994fe0b25202b4a3e06150",
      "3a670344f48e4d43bd934fe62912b591",
      "b7ac5ef1f45f45a68e6c6289f4baae31",
      "f87b7295047d4c3c8e46bbd2d9f151ee",
      "3f451a86ecc64d96818cbc2f5ab05709",
      "ac40ae1da7f44e6b9374c6c937aa37d1",
      "47a025ee4ce543bd8ddd638fbba291e1",
      "3f87ca1e921640889e7b13a3f10688ba",
      "275190ccf7424db4b0870c97908636aa",
      "17688fa22ed342009f504e92f6087d56",
      "d8e3d488f6be49658023d3052f35eea4",
      "c9c39369f9f34f7bb0dff0a26eaa0f57",
      "5b042ccbb928462981cd4af88615356e",
      "dfc38e747b7941eeafb3983cdd36521a",
      "aaf975f1039944699f445643737c1231",
      "55a06b0632f743aa9501f45bffa71e8a"
     ]
    },
    "outputId": "78762ee7-77a3-4e32-cd57-2878701474ad"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "--------------------------------------------------\n",
      "FullyFinetunedBert(\n",
      "  (model): BertModel(\n",
      "    (embeddings): BertEmbeddings(\n",
      "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
      "      (position_embeddings): Embedding(512, 768)\n",
      "      (token_type_embeddings): Embedding(2, 768)\n",
      "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "      (dropout): Dropout(p=0.1, inplace=False)\n",
      "    )\n",
      "    (encoder): BertEncoder(\n",
      "      (layer): ModuleList(\n",
      "        (0-11): 12 x BertLayer(\n",
      "          (attention): BertAttention(\n",
      "            (self): BertSdpaSelfAttention(\n",
      "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "            )\n",
      "            (output): BertSelfOutput(\n",
      "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "            )\n",
      "          )\n",
      "          (intermediate): BertIntermediate(\n",
      "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
      "            (intermediate_act_fn): GELUActivation()\n",
      "          )\n",
      "          (output): BertOutput(\n",
      "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
      "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "          )\n",
      "        )\n",
      "      )\n",
      "    )\n",
      "    (pooler): BertPooler(\n",
      "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "      (activation): Tanh()\n",
      "    )\n",
      "  )\n",
      "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
      ")\n",
      "--------------------------------------------------\n",
      "Total Parameters:\t 109.48M\n",
      "Frozen Parameters:\t       0\n",
      "Trainable Parameters:\t 109.48M\t100.00%\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "9bdfa08b70574fdb99cbbdf6f774163e"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 0: train_loss 0.3026, train_acc 0.8657, val_loss 0.2126, val_acc 0.9197\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "d5d8c229fa864b5f9186e3f9be6664b1"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 1: train_loss 0.1438, train_acc 0.9478, val_loss 0.2143, val_acc 0.9220\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "86e63d145b3044ec98e470e5f412baba"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 2: train_loss 0.0919, train_acc 0.9690, val_loss 0.2433, val_acc 0.9255\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "8be4055d58944b919185997549012e43"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 3: train_loss 0.0603, train_acc 0.9793, val_loss 0.2592, val_acc 0.9209\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "ac40ae1da7f44e6b9374c6c937aa37d1"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 4: train_loss 0.0447, train_acc 0.9849, val_loss 0.2813, val_acc 0.9197\n"
     ]
    }
   ],
   "source": [
    "class FullyFinetunedBert(nn.Module):\n",
    "    def __init__(self):\n",
    "        super().__init__()\n",
    "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")  # 从预训练模型加载BERT\n",
    "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)  # 添加线性分类器，输出维度为1\n",
    "\n",
    "    def forward(self, **inputs):\n",
    "        feature = self.model(**inputs).last_hidden_state[:, 0, :]  # 获取特征向量\n",
    "        logits = self.classifier(feature)  # 应用分类器\n",
    "        return torch.sigmoid(logits).squeeze()  # 使用sigmoid激活函数并压缩维度\n",
    "\n",
    "\n",
    "# 加载预训练模型\n",
    "fully_fine_tuned_bert = FullyFinetunedBert()\n",
    "print('-'*50)\n",
    "print(fully_fine_tuned_bert)\n",
    "print('-'*50)\n",
    "# 检查参数数量\n",
    "count_parameters(fully_fine_tuned_bert)\n",
    "\n",
    "# 训练\n",
    "training_record[\"Fully Fine-Tuning\"] = train(\n",
    "    fully_fine_tuned_bert,\n",
    "    train_loader,\n",
    "    val_loader,\n",
    "    device,\n",
    "    num_epochs=num_epochs,\n",
    "    patience=patience\n",
    "    )  # 对完全微调的BERT进行训练，并将训练记录保存在training_record中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "id": "VCr0b-iFvBqW"
   },
   "outputs": [],
   "source": [
    "del fully_fine_tuned_bert"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "id": "rNTAbv3jnDe6",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 446
    },
    "outputId": "61dc2e0e-3238-4223-9c4f-7403a3fa8f83"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ],
      "image/png": "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G264QQMGDNB7772nXbt2Vds59uyyNSm7zaq7roxRTC1D/7mns16/sxMhHgAAALjIfPnllwoJCXF/3XLLLZWy3quuukqtWrXSO++84x6bM2eObrnlFoWEhJxz2caNGxer6fDhw6XOc7lcmjt3rtq1a6drr71Wd911l/sTy/Lz8zVlyhTNnj1biYmJat68uYYPH64777xTb7zxRqW8Rk/qKcuAAQP08MMPKy4uTk899ZTCwsK0fPlySdJ7770ni8WiN998U23atFH//v31xBNPVEntZ2OPvIkNT2iqqGOb1CXWPOdyAAAAAF5nDy7aM36BXC6XsnNyFFq7dvk/n9we7NFzXHfddXr99dfd92vVqrydd/fee6/+9a9/6cknn1RWVpYWLVqkZcuWnXe5r7/+WrVr13bfr1evXqnzYmNji82LiorSgQMHJEnp6enKy8tTnz59ii1TUFCgyy67TJLUtm1b9wXurr32Wi1atMizF+hBPWVp3769+7bFYlFkZKR7mS1btqh9+/YKDAx0z+nSpcsF1VheBHkTs9usslrOPw8AAADAGSyWyjm83eWS7M6idZU3yHuoVq1apV6h3mq1yjjrfHuHw+HRuocOHaoxY8ZozZo1Wr16tZo1a6Zrr732vMs1a9asXB81d/YV4C0Wi1wul6Sijw2XpAULFig6OrrYvNOfNrZw4UL3azrXxezK+7M4Vz0VeQ3eRJAHAAAAAJNp2LChfv3112Jj69ev9+jj0xo0aKBBgwZpzpw5WrNmjUaMGFHZZZapTZs2CggIUEZGRpnnw599AbuyNGzYUDk5OcrNzXUfsVDVF5uTpFatWundd99Vfn6+e+PDDz/8UOXPK3GOPAAAAACYTs+ePfXjjz/q7bffVlpamsaPH18i2JfHvffeq3nz5mnTpk0aNmxYFVRautq1a+vxxx/XY489pnnz5mnbtm366aef9Oqrr2revHkeratr164KDg7W008/rW3btum999674M+UL4/bb79dLpdL999/vzZt2qQlS5bof//3fyWp2BXzqwJBHgAAAABMJjExUc8++6yefPJJXXHFFcrJydHQoUM9Xk/v3r0VFRWlxMRENWp04Vfy98SkSZP07LPPaurUqWrdurX69eunBQsWqFmzZh6tp379+nr33Xe1cOFCXXrppXr//fc1YcKEqin6DKGhofq///s/rV+/Xh07dtQzzzyj5557TpKKnTdfFSzG2ScTQNnZ2apTp46OHTum0NBQb5dTJofDoYULF2rAgAEeHUKD6kWfzIE++T56ZA70yRzok++jR5Xr5MmT2rFjh5o1a1apAcvlcik7O1uhoaHlv9idjzl+/Liio6M1Z84c/fWvf/V2OVWiOvv0n//8RyNGjNCxY8dKPa//XP8WPcmhnCMPAAAAADWMy+XSoUOH9I9//EN169bVjTfe6O2STOntt99W8+bNFR0drV9++UVPPfWUbr311nNenK8yEOQBAAAAoIbJyMhQs2bN1LhxY82dO1d+fkTDisjMzNRzzz2nzMxMRUVF6ZZbbtELL7xQ5c9LtwAAAACghomNjS3xkW3w3JNPPqknn3yy2p/XnCdyAAAAAABQQxHkAQAAANQI7IGGt1XWv0GCPAAAAICLms1mkyQVFBR4uRLUdHl5eZJ0wZ9GwTnyAAAAAC5qfn5+Cg4O1sGDB2W32yvtI8hcLpcKCgp08uRJ0378XE3gC30yDEN5eXk6cOCA6tat6964VFEEeQAAAAAXNYvFoqioKO3YsUO7du2qtPUahqETJ04oKChIFoul0taLyuVLfapbt64iIyMveD0EeQAAAAAXPX9/f8XHx1fq4fUOh0OrVq1St27dLvhQaVQdX+mT3W6/4D3xpxHkAQAAANQIVqtVgYGBlbY+m82mwsJCBQYGEuR92MXYJ07kAAAAAADARAjyAAAAAACYCEEeAAAAAAAT4Rz5UhiGIUnKzs72ciXn5nA4lJeXp+zs7IvmXI+LEX0yB/rk++iROdAnc6BPvo8emQN9Mgez9Ol0/jydR8+FIF+KnJwcSVJMTIyXKwEAAAAA1CQ5OTmqU6fOOedYjPLE/RrG5XJp3759ql27ttc/Z/BcsrOzFRMTo927dys0NNTb5aAM9Mkc6JPvo0fmQJ/MgT75PnpkDvTJHMzSJ8MwlJOTo0aNGslqPfdZ8OyRL4XValXjxo29XUa5hYaG+vQ/SBShT+ZAn3wfPTIH+mQO9Mn30SNzoE/mYIY+nW9P/Glc7A4AAAAAABMhyAMAAAAAYCIEeRMLCAjQ+PHjFRAQ4O1ScA70yRzok++jR+ZAn8yBPvk+emQO9MkcLsY+cbE7AAAAAABMhD3yAAAAAACYCEEeAAAAAAATIcgDAAAAAGAiBHkAAAAAAEyEIO/jZs6cqdjYWAUGBqpr165au3btOed/9NFHuuSSSxQYGKhLL71UCxcurKZKazZP+jR37lxZLJZiX4GBgdVYbc2zatUq3XDDDWrUqJEsFos+//zz8y6zYsUKXX755QoICFBcXJzmzp1b5XXWdJ72acWKFSXeSxaLRZmZmdVTcA00depUXXHFFapdu7bCw8M1aNAgbdmy5bzL8bupelWkT/xuqn6vv/662rdvr9DQUIWGhiohIUGLFi065zK8l6qXpz3ifeQbXnzxRVksFj366KPnnGf29xNB3od98MEHSk5O1vjx4/XTTz+pQ4cOSkxM1IEDB0qdv3r1ag0ZMkT33HOPfv75Zw0aNEiDBg3Sr7/+Ws2V1yye9kmSQkNDtX//fvfXrl27qrHimic3N1cdOnTQzJkzyzV/x44dGjhwoK677jqtX79ejz76qO69914tWbKkiiut2Tzt02lbtmwp9n4KDw+vogqxcuVKjRw5Ut99951SUlLkcDjUt29f5ebmlrkMv5uqX0X6JPG7qbo1btxYL774otatW6cff/xRPXv21F/+8hf99ttvpc7nvVT9PO2RxPvI23744Qe98cYbat++/TnnXRTvJwM+q0uXLsbIkSPd951Op9GoUSNj6tSppc6/9dZbjYEDBxYb69q1q/HAAw9UaZ01nad9mjNnjlGnTp1qqg5nk2R89tln55zz5JNPGm3bti02NnjwYCMxMbEKK8OZytOn5cuXG5KMP/74o1pqQkkHDhwwJBkrV64scw6/m7yvPH3id5NvqFevnvHvf/+71Md4L/mGc/WI95F35eTkGPHx8UZKSorRvXt3Y/To0WXOvRjeT+yR91EFBQVat26devfu7R6zWq3q3bu31qxZU+oya9asKTZfkhITE8ucjwtXkT5J0vHjx9W0aVPFxMScd8suqh/vJXPp2LGjoqKi1KdPH3377bfeLqdGOXbsmCSpfv36Zc7h/eR95emTxO8mb3I6nZo/f75yc3OVkJBQ6hzeS95Vnh5JvI+8aeTIkRo4cGCJ90lpLob3E0HeRx06dEhOp1MRERHFxiMiIso8/zMzM9Oj+bhwFelTq1atNHv2bP33v//Vu+++K5fLpauuukp79uypjpJRDmW9l7Kzs3XixAkvVYWzRUVFadasWfrkk0/0ySefKCYmRj169NBPP/3k7dJqBJfLpUcffVRXX3212rVr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\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "#可以看到全量微调的效果非常好\n",
    "plot_training_record(training_record, metric_name=\"val_acc\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "zyPOJDExvBqW"
   },
   "source": [
    "## BitFit\n",
    "\n",
    "BitFit（论文：BitFit: Simple Parameter-efficient Fine-tuning or Transformer-based Masked Language-models）是一种稀疏的微调方法，它训练时只更新bias的参数或者部分bias参数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "id": "Uw3OoIuxvBqW",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000,
     "referenced_widgets": [
      "745413e6ac6a4f1181655119cd071926",
      "421437d3bfd6474a8f9933c42c94e248",
      "86c72bd8731542648727b7ca7d5fa522",
      "f11277b214b94fd3a39595249e2ea735",
      "56802b1fee1140b7ad3d2b6b93a85835",
      "20dbe90d708d4f07919713ff4cad120e",
      "848f146174f24db5bbbd1adbaa6c46c0",
      "e27425ab86a849d9b2fdd575007eb957",
      "2e2a2dad3f68434aaeaf51ebc35b85df",
      "662436e2d3a444f5b35c425d93bca61e",
      "cd67d21984564e4a8fc581706abc7a05",
      "43773a6412274415a0d89c1ac1ed0279",
      "715efda296cd413d98ce3990536f979a",
      "ff3a7b46f6a848fd99bfc925e3d514ba",
      "fc11e4e0ab69424b936dd3fb046cd59e",
      "9c5abc8af5064b32925bfe439c9746f9",
      "e829779232704ff6a30141dbe2c02812",
      "0f60e0e053b14e47b9caebdb510ee52a",
      "5a56729327b84e6c85d13f13c2152653",
      "9a6d4e314ac24f45b835cad0576d5026",
      "d50f4fa3a9f74199a1c001ee14d891dc",
      "c731d76713534020a71ccbc7492179ca",
      "bf22f5bd32364cf29482d35c48af6256",
      "80a7ec50339443e7a140a3bcc7dd3eb5",
      "5d02079ff2e74ef1b73bb4574888c711",
      "d316709852b645ab93dc793679997399",
      "2c7c4dbb6bbd4918b40f545de829e261",
      "1be04ad098c849d1833c4d486d392eae",
      "4a765d34ac7841189d33485ffb787396",
      "f01233d91c924e9aaaca3644fe61c6e2",
      "a849b8ef99fd4baa9d1f2dba8a8b49e7",
      "47bbf09dd259489f86e18a4c0c08eadf",
      "d5ba83362cc44a12990d69a73cff5cc5",
      "e5fdb340fa704f6cafe1abb9b5fbadbc",
      "64a2d514c96e423c879b3cc2f3af779c",
      "477f8ad055d1492b921de0c519cce650",
      "3701d187110848ddb1acce0b3001787c",
      "1e06ba1e55084cf4b90b68188eceac69",
      "853f45514c9b4ed885c86816ed1be601",
      "167756f99c6f4c0eb9024bf3128bc927",
      "8b794690a7f84c088b41dd8beead3847",
      "d58110119ea04f4bb7157676e43d5fba",
      "d44ee8171f1d4e1ba11cef83319ebda6",
      "58d5641ac51b46548eac79fe53f3e892",
      "7480c6ff1ea74afd84b2771167493b5e",
      "fcd6c6070a634f529235c1dc7fe88564",
      "b736e58ad7b1405bafde4a865f5ac9b2",
      "9e78678f82574ff2bb083e5938fedbc9",
      "96b5758e946d43ff84d9e18af14ecf0a",
      "9435e5e19d0b49e2a89062ea26095181",
      "c553b03c35d846c2aa9c970a8a873ae5",
      "815ec1da01b34df19097a6d04e2d557f",
      "26642da40d044599958c5811a8ef8a6f",
      "372626a7c633402d9402bb4efae3268a",
      "fe78461196b6425a9c68bed2e79a17d7"
     ]
    },
    "outputId": "6ed36124-741e-400f-8e99-b658716fc94f"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "--------------------------------------------------\n",
      "BitFitBert(\n",
      "  (model): BertModel(\n",
      "    (embeddings): BertEmbeddings(\n",
      "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
      "      (position_embeddings): Embedding(512, 768)\n",
      "      (token_type_embeddings): Embedding(2, 768)\n",
      "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "      (dropout): Dropout(p=0.1, inplace=False)\n",
      "    )\n",
      "    (encoder): BertEncoder(\n",
      "      (layer): ModuleList(\n",
      "        (0-11): 12 x BertLayer(\n",
      "          (attention): BertAttention(\n",
      "            (self): BertSdpaSelfAttention(\n",
      "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "            )\n",
      "            (output): BertSelfOutput(\n",
      "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "            )\n",
      "          )\n",
      "          (intermediate): BertIntermediate(\n",
      "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
      "            (intermediate_act_fn): GELUActivation()\n",
      "          )\n",
      "          (output): BertOutput(\n",
      "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
      "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "          )\n",
      "        )\n",
      "      )\n",
      "    )\n",
      "    (pooler): BertPooler(\n",
      "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "      (activation): Tanh()\n",
      "    )\n",
      "  )\n",
      "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
      ")\n",
      "--------------------------------------------------\n",
      "Total Parameters:\t 109.48M\n",
      "Frozen Parameters:\t 109.38M\n",
      "Trainable Parameters:\t 103.68K\t0.09%\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "745413e6ac6a4f1181655119cd071926"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 0: train_loss 0.6509, train_acc 0.6129, val_loss 0.4728, val_acc 0.8452\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "43773a6412274415a0d89c1ac1ed0279"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 1: train_loss 0.3753, train_acc 0.8524, val_loss 0.3331, val_acc 0.8647\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "bf22f5bd32364cf29482d35c48af6256"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 2: train_loss 0.3332, train_acc 0.8614, val_loss 0.3193, val_acc 0.8658\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "e5fdb340fa704f6cafe1abb9b5fbadbc"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 3: train_loss 0.3238, train_acc 0.8656, val_loss 0.3140, val_acc 0.8670\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "7480c6ff1ea74afd84b2771167493b5e"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 4: train_loss 0.3213, train_acc 0.8670, val_loss 0.3135, val_acc 0.8658\n"
     ]
    }
   ],
   "source": [
    "class BitFitBert(nn.Module):\n",
    "    def __init__(self):\n",
    "        super().__init__()\n",
    "        # 加载预训练模型\n",
    "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
    "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
    "\n",
    "        # 冻结除所有偏置项之外的参数\n",
    "        for name, param in self.model.named_parameters():\n",
    "            if \"bias\" not in name:\n",
    "                param.requires_grad = False\n",
    "\n",
    "    def forward(self, **inputs):\n",
    "        feature = self.model(**inputs).last_hidden_state[:, 0, :]  # 获取特征向量\n",
    "        logits = self.classifier(feature)  # 应用分类器\n",
    "        return torch.sigmoid(logits).squeeze()  # 使用sigmoid激活函数并压缩维度\n",
    "\n",
    "\n",
    "# 加载预训练模型\n",
    "bitfit_bert = BitFitBert()\n",
    "print('-'*50)\n",
    "print(bitfit_bert)\n",
    "print('-'*50)\n",
    "# 检查参数数量\n",
    "count_parameters(bitfit_bert)\n",
    "\n",
    "# 训练\n",
    "training_record[\"BitFit\"] = train(bitfit_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)  # 对BitFitBert进行训练，并将训练记录保存在training_record中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "id": "ZJI09vdKvBqX"
   },
   "outputs": [],
   "source": [
    "del bitfit_bert"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "id": "xT7kfW1XnE9b",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 446
    },
    "outputId": "d9209b33-4915-4c9f-b95b-666d7c7c79db"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ],
      "image/png": "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Z+fYs0ce1bZq2yFdO+0bPfLRT8rOKVRCoxBNv+VCfXhPMiEeAAAAqIbPP/9cYWFh7q8bbrihRua99NJL1bZtW73zzjvuZbNmzdINN9ygsLCwStdt2rRpqZoOHTpU7jiXy6XZs2erY8eOuuKKK3TbbbcpPT1dklRYWKjnn39eM2fOVEpKilq2bKkRI0bo1ltv1euvv14j79GbeioycOBA3X///UpKStLjjz+uyMhILVmyRJL03nvvyWKx6I033lD79u01YMAAPfroo7VS++nYI48q23koX5Pnb9TCX7MkSeFBAUrtnaQRlyUqKMDm4+oAAACACthDS/aMV5PL5VJObq4iwsNltXq4j9Qe6tVrXHnllZo+fbr7cb16Nbc3/84779S//vUvPfbYY8rOztaCBQu0ePHiM6739ddfKzw83P24YcOG5Y5LTEwsNS4uLk779++XJGVkZKigoED9+vUrtU5RUZEuuOACSVKHDh20c+dOSdIVV1yhBQsWePcGvainIp06dXJ/b7FYFBsb615n06ZN6tSpk4KDg91junXrVq0aPUWQh9eOHnPotcVbNHvFDjmchqwW6ebuzfRw3zZqHBbk6/IAAACAylksNXN4u8sl2Z0lc3ka5L1Ur149JSUllVlutVplnHa+vcPh8GruYcOGacyYMVq5cqVWrFihFi1a6Iorrjjjei1atPDoVnN2u73UY4vFIpfLJUnKy8uTJM2bN0/x8fGlxgUFlWSK+fPnu99TZRez8/RnUVk9VXkPvkSQh8eKnS69tzpTLy3arN8LSj4YPdpEadygdmoTE36GtQEAAADUlKioKP3yyy+llq1bt65M8KxM48aNNXjwYM2aNUsrV67UyJEja7rMCrVv315BQUHKzMys8Hz40y9gV5GoqCjl5uYqPz/ffcRCbV9sTpLatm2rd999V4WFhe6ND99//32tv65EkIeHlmzar+fmbVDG/pItZ62jw/TkoHbq1Tbax5UBAAAA557evXvrxRdf1Ntvv63k5GS9++67+uWXX9yHpXvqzjvv1NVXXy2n06nhw4fXUrVlhYeH65FHHtHDDz8sl8ulyy+/XEePHtW3336riIgIr2rp3r27QkND9cQTT2jUqFFatWqVZs+eXXvFn3DzzTfrySef1N13360xY8YoMzNTf//73yWp1BXzawMXu0OlNmXlatjM1Ro563tl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\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "#偏置项冻结后效果变差了一些\n",
    "plot_training_record(training_record, metric_name=\"val_acc\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "G6KrBSXsvBqX"
   },
   "source": [
    "## P-Tuning & P-Tuning v2 & Prefix Tuning\n",
    "\n",
    "Prefix Tuning（论文：Prefix-Tuning: Optimizing Continuous Prompts for Generation），在输入token之前构造一段任务相关的virtual tokens作为Prefix，然后训练的时候只更新Prefix部分的参数，而PLM中的其他部分参数固定。\n",
    "\n",
    "* 针对不同的模型结构，需要构造不同的Prefix。\n",
    "    * 针对自回归架构模型：在句子前面添加前缀，得到 z = [PREFIX; x; y]，合适的上文能够在固定 LM 的情况下去引导生成下文（比如：GPT3的上下文学习）。\n",
    "    * 针对编码器-解码器架构模型：Encoder和Decoder都增加了前缀，得到 z = [PREFIX; x; PREFIX0; y]。Encoder端增加前缀是为了引导输入部分的编码，Decoder 端增加前缀是为了引导后续token的生成。\n",
    "\n",
    "\n",
    "P-Tuning（论文：GPT Understands, Too），该方法将Prompt转换为可以学习的Embedding层，并用MLP+LSTM的方式来对Prompt Embedding进行一层处理。\n",
    "\n",
    "相比Prefix Tuning，P-Tuning加入的可微的virtual token，但仅限于输入层，没有在每一层都加；另外，virtual token的位置也不一定是前缀，插入的位置是可选的。这里的出发点实际是把传统人工设计模版中的真实token替换成可微的virtual token。\n",
    "\n",
    "P-Tuning v2（论文： P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks），该方法在每一层都加入了Prompts tokens作为输入，而不是仅仅加在输入层，这带来两个方面的好处：\n",
    "\n",
    "更多可学习的参数（从P-tuning和Prompt Tuning的0.01%增加到0.1%-3%），同时也足够参数高效。\n",
    "加入到更深层结构中的Prompt能给模型预测带来更直接的影响。\n",
    "\n",
    "\n",
    "自然语言生成 (NLG) 和 自然语言理解 (NLU)\n",
    "### 区别\n",
    "\n",
    "|方法|参数重整化| 微调参数所在层 | 适配下游任务 |\n",
    "|-|-|-|-|\n",
    "|P-tuning|MLP + LSTM 或者 MLP| embedding 层| 使得GPT做NLU |\n",
    "|P-tuning v2|不使用| 每一层 | NLG & NLU |\n",
    "|prefix tuning|MLP| 每一层 | NLG |"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "id": "eGmeMVOcG-NY",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "7a489d29-a405-4e93-b9c0-2bfcfc19c4fc"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "torch.Size([32, 25, 768])\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "prefix_tokens = nn.Parameter(torch.zeros(25, 768))\n",
    "prefix_tokens = prefix_tokens.unsqueeze(0).expand(32, -1, -1) #给每个样本都增加一个（25, 768）\n",
    "print(prefix_tokens.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "id": "xVlDiAfavBqX",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "70cd6aff-1cd9-4a35-d2c2-4fc3ca35350d"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "torch.Size([25, 768])\n",
      "--------------------------------------------------\n",
      "PTuningBert(\n",
      "  (model): BertModel(\n",
      "    (embeddings): BertEmbeddings(\n",
      "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
      "      (position_embeddings): Embedding(512, 768)\n",
      "      (token_type_embeddings): Embedding(2, 768)\n",
      "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "      (dropout): Dropout(p=0.1, inplace=False)\n",
      "    )\n",
      "    (encoder): BertEncoder(\n",
      "      (layer): ModuleList(\n",
      "        (0-11): 12 x BertLayer(\n",
      "          (attention): BertAttention(\n",
      "            (self): BertSdpaSelfAttention(\n",
      "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "            )\n",
      "            (output): BertSelfOutput(\n",
      "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "            )\n",
      "          )\n",
      "          (intermediate): BertIntermediate(\n",
      "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
      "            (intermediate_act_fn): GELUActivation()\n",
      "          )\n",
      "          (output): BertOutput(\n",
      "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
      "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "          )\n",
      "        )\n",
      "      )\n",
      "    )\n",
      "    (pooler): BertPooler(\n",
      "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "      (activation): Tanh()\n",
      "    )\n",
      "  )\n",
      "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
      "  (mlp_head): Sequential(\n",
      "    (0): Linear(in_features=768, out_features=768, bias=True)\n",
      "    (1): ReLU()\n",
      "    (2): Linear(in_features=768, out_features=768, bias=True)\n",
      "    (3): ReLU()\n",
      "    (4): Linear(in_features=768, out_features=768, bias=True)\n",
      "  )\n",
      ")\n",
      "--------------------------------------------------\n",
      "Total Parameters:\t 111.27M\n",
      "Frozen Parameters:\t 109.48M\n",
      "Trainable Parameters:\t   1.79M\t1.61%\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "from transformers import AutoModel\n",
    "import torch.nn.functional as F\n",
    "import numpy as np\n",
    "\n",
    "class PTuningBert(nn.Module):\n",
    "    def __init__(self, num_virtual_tokens=25, reparameterization_type=\"MLP\"):\n",
    "        super().__init__()\n",
    "        # 加载预训练模型\n",
    "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
    "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
    "\n",
    "        # 冻结除分类器层之外的参数\n",
    "        for param in self.model.parameters():\n",
    "            param.requires_grad = False\n",
    "\n",
    "        hidden_size = self.model.config.hidden_size\n",
    "        self.num_virtual_tokens = num_virtual_tokens\n",
    "        # 定义一个可学习的参数，作为虚拟提示的初始值，其形状为(num_virtual_tokens, hidden_size)\n",
    "        self.prompt = nn.Parameter(torch.zeros(self.num_virtual_tokens, hidden_size))\n",
    "        print(self.prompt.shape)\n",
    "        # 重新参数化,根据传入的reparameterization_type参数，初始化不同的重新参数化头部\n",
    "        self.reparameterization_type = reparameterization_type\n",
    "        if reparameterization_type == \"MLP\":\n",
    "            self.mlp_head = nn.Sequential(\n",
    "                nn.Linear(hidden_size, hidden_size),\n",
    "                nn.ReLU(),\n",
    "                nn.Linear(hidden_size, hidden_size),\n",
    "                nn.ReLU(),\n",
    "                nn.Linear(hidden_size, hidden_size),\n",
    "            )\n",
    "        elif reparameterization_type == \"LSTM\":\n",
    "            self.lstm_head = nn.LSTM(\n",
    "                input_size=hidden_size,\n",
    "                hidden_size=hidden_size,\n",
    "                num_layers=2,\n",
    "                bidirectional=True,\n",
    "                batch_first=True,\n",
    "            )\n",
    "            self.mlp_head = nn.Sequential(\n",
    "                nn.Linear(hidden_size * 2, hidden_size * 2),\n",
    "                nn.ReLU(),\n",
    "                nn.Linear(hidden_size * 2, hidden_size),\n",
    "            )\n",
    "\n",
    "    def forward(self, input_ids, attention_mask, **args):\n",
    "        # 获取输入的批次大小\n",
    "        batch_size = input_ids.size(0)\n",
    "        # 将虚拟提示扩展到与输入相同批次大小 (batch_size,num_virtual_tokens,hidden_size)\n",
    "        prompt = self.prompt.unsqueeze(0).expand(batch_size, -1, -1)\n",
    "\n",
    "        # 根据选择的重新参数化类型，对虚拟提示进行处理\n",
    "        if self.reparameterization_type == \"MLP\":\n",
    "            prompt = self.mlp_head(prompt)\n",
    "        elif self.reparameterization_type == \"LSTM\":\n",
    "            prompt, _ = self.lstm_head(prompt)\n",
    "            prompt = self.mlp_head(prompt)\n",
    "\n",
    "        # 将虚拟提示与输入的嵌入层输出连接，形成扩展的输入嵌入\n",
    "        embedding_output = self.model.embeddings(input_ids)\n",
    "        extended_inputs_embeds = torch.cat([prompt, embedding_output], dim=1) #在seq_len进行拼接\n",
    "        extended_attention_mask = torch.cat([\n",
    "            torch.ones(batch_size, self.num_virtual_tokens).to(input_ids.device),\n",
    "            attention_mask\n",
    "        ], dim=1)\n",
    "\n",
    "        #将扩展的输入嵌入和注意力掩码输入BERT模型\n",
    "        outputs = self.model(inputs_embeds=extended_inputs_embeds, attention_mask=extended_attention_mask)\n",
    "        # 获取经过BERT模型处理后的特定位置的特征，即虚拟提示之后的第一个位置，等价于原来的第0个位置\n",
    "        feature = outputs.last_hidden_state[:, self.num_virtual_tokens, :]\n",
    "\n",
    "        logits = self.classifier(feature)\n",
    "        return torch.sigmoid(logits).squeeze()\n",
    "\n",
    "\n",
    "# 加载预训练模型\n",
    "ptuning_bert = PTuningBert()\n",
    "print('-'*50)\n",
    "print(ptuning_bert)\n",
    "print('-'*50)\n",
    "# 记录参数数量\n",
    "# def count_parameters(model):\n",
    "#     return sum(p.numel() for p in model.parameters() if p.requires_grad)\n",
    "\n",
    "count_parameters(ptuning_bert)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "id": "pgmkS5Ayt2BT",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "c75a5821-5f8a-4f59-f6f4-80704015aafb"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "key:prompt--value:torch.Size([25, 768])\n",
      "key:model.embeddings.word_embeddings.weight--value:torch.Size([30522, 768])\n",
      "key:model.embeddings.position_embeddings.weight--value:torch.Size([512, 768])\n",
      "key:model.embeddings.token_type_embeddings.weight--value:torch.Size([2, 768])\n",
      "key:model.embeddings.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.embeddings.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.0.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.0.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.0.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.0.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.0.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.0.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.0.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.0.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.0.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.0.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.0.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.0.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.0.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.0.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.0.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.0.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.1.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.1.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.1.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.1.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.1.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.1.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.1.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.1.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.1.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.1.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.1.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.1.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.1.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.1.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.1.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.1.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.2.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.2.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.2.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.2.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.2.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.2.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.2.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.2.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.2.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.2.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.2.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.2.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.2.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.2.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.2.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.2.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.3.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.3.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.3.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.3.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.3.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.3.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.3.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.3.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.3.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.3.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.3.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.3.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.3.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.3.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.3.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.3.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.4.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.4.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.4.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.4.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.4.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.4.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.4.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.4.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.4.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.4.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.4.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.4.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.4.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.4.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.4.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.4.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.5.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.5.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.5.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.5.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.5.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.5.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.5.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.5.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.5.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.5.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.5.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.5.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.5.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.5.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.5.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.5.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.6.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.6.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.6.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.6.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.6.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.6.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.6.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.6.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.6.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.6.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.6.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.6.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.6.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.6.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.6.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.6.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.7.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.7.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.7.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.7.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.7.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.7.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.7.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.7.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.7.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.7.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.7.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.7.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.7.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.7.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.7.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.7.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.8.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.8.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.8.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.8.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.8.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.8.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.8.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.8.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.8.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.8.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.8.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.8.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.8.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.8.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.8.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.8.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.9.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.9.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.9.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.9.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.9.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.9.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.9.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.9.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.9.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.9.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.9.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.9.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.9.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.9.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.9.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.9.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.10.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.10.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.10.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.10.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.10.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.10.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.10.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.10.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.10.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.10.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.10.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.10.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.10.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.10.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.10.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.10.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.11.attention.self.query.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.11.attention.self.query.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.11.attention.self.key.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.11.attention.self.key.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.11.attention.self.value.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.11.attention.self.value.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.11.attention.output.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.encoder.layer.11.attention.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.11.attention.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.11.attention.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.11.intermediate.dense.weight--value:torch.Size([3072, 768])\n",
      "key:model.encoder.layer.11.intermediate.dense.bias--value:torch.Size([3072])\n",
      "key:model.encoder.layer.11.output.dense.weight--value:torch.Size([768, 3072])\n",
      "key:model.encoder.layer.11.output.dense.bias--value:torch.Size([768])\n",
      "key:model.encoder.layer.11.output.LayerNorm.weight--value:torch.Size([768])\n",
      "key:model.encoder.layer.11.output.LayerNorm.bias--value:torch.Size([768])\n",
      "key:model.pooler.dense.weight--value:torch.Size([768, 768])\n",
      "key:model.pooler.dense.bias--value:torch.Size([768])\n",
      "key:classifier.weight--value:torch.Size([1, 768])\n",
      "key:classifier.bias--value:torch.Size([1])\n",
      "key:mlp_head.0.weight--value:torch.Size([768, 768])\n",
      "key:mlp_head.0.bias--value:torch.Size([768])\n",
      "key:mlp_head.2.weight--value:torch.Size([768, 768])\n",
      "key:mlp_head.2.bias--value:torch.Size([768])\n",
      "key:mlp_head.4.weight--value:torch.Size([768, 768])\n",
      "key:mlp_head.4.bias--value:torch.Size([768])\n"
     ]
    }
   ],
   "source": [
    "for idx, (key, value) in enumerate(ptuning_bert.named_parameters()):\n",
    "  print(f'key:{key}--value:{value.shape}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "id": "wmx-55LyyIct",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 264,
     "referenced_widgets": [
      "6547c94100fc4c93aa961371da3f8a49",
      "9092a1ae337e4cbcab28cac64fb6915f",
      "ca538ed0e910433c98eca74e130fbc23",
      "0baaebf492514c1dbec37d89068b58b4",
      "5db983714dd74ae6b2dbba29613714f2",
      "d6cf478794054232a4383145001586e3",
      "0fc8fce10ac1490e820a0b9fa772d157",
      "89003556aabf4af197a43e5b722ddafa",
      "ecf48b2c75b8445787bef2675376c57d",
      "f302cd20370f43989f4e1e052cf17d7d",
      "2ec15c406a7a499f82dbdd5677f6d853",
      "29b2ebb9ac574e2bbbe795bbd96ab34e",
      "f460193d5e774822905aeccb069bef8a",
      "3c14da2d29c348979f1f08ee3c770f27",
      "b70d46f3abc64de384ceb9a7101a01b5",
      "680ac32e393f48518e4cd9229797d800",
      "02c5e4ee5b774a0d8b9cc5d9a773c753",
      "127e8e70e2774867a537dd6b73e8f2eb",
      "6c384290bb784dd78d0a89414e79df7e",
      "341fe7d36898424297e8f40a6db7b53d",
      "bd121c1a6bc743f29d335a0b27659c03",
      "315d45bb634846adb437b0dafec2fe6f",
      "e325bb01531a4148867a98dbf534689a",
      "27f869e6eaa249f09deb773af57fd3ff",
      "5410ba9256814d628f1358414f7a70dd",
      "41a523c1746b45299ebffa133b6a0250",
      "7855acd65c8c448591447ab3e8e02112",
      "02b0cc45421f485d892ce061c314a8ed",
      "476d06f0487a43d0839411f8f54d0b90",
      "c5e25d14ee92434dabc33ea77bb75a02",
      "8862dc628c00423fa4c0ea6da2e324c8",
      "179fe6664bbd42009522b9496d5a5e26",
      "7452fa0e022d489992bdd71a2643fdab",
      "2050fb22a16e4214ad27855be2f0f02a",
      "b36a0ce4e6c54d9a8ab42fea6cb5cef5",
      "48b3f546357f4ed09828b5b35da661b3",
      "853b837d99c4476292b69935cfb5cece",
      "69ba22f8d64242489477911847271205",
      "eded6648f1ee40ad89de053362a940d3",
      "7e78184c31ba419d9ad7cbfd8065b103",
      "6c530af49420454abe5fc716f7e5bc3a",
      "54cfce37c0d745ea9143b13d73d48480",
      "adc8f7a242ec450ba607c770c980f738",
      "d0610c2328b24b1a88399777e0fc812f",
      "47ef73b33bcd44d5a108ad394706853f",
      "4693484663d24d4eb3b33083521de2cb",
      "86261e2b228d43248e69e5d72e294c66",
      "431118d3689a49cb82c3925617981bed",
      "369382e5c2704c7487894669c6ec3d09",
      "62ab9ccdaafa4fac9bb66d0f5e78ab7e",
      "dbb474ba3ef54a51ace3f83324059706",
      "48a7dde9f1f44eb285e5b2937f3426e4",
      "7b8f9c0293bd475bba9c3f3b66092aa1",
      "556372770c424c72a6071698220c0dce",
      "e894a604aabc4b8890357696df0d4019"
     ]
    },
    "outputId": "208d2359-da1a-401c-bdd3-c6fde40f621c"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6547c94100fc4c93aa961371da3f8a49",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "metadata": {
      "tags": null
     },
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch 0: train_loss 0.6683, train_acc 0.5740, val_loss 0.5988, val_acc 0.7122\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "29b2ebb9ac574e2bbbe795bbd96ab34e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "metadata": {
      "tags": null
     },
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch 1: train_loss 0.5463, train_acc 0.7322, val_loss 0.5025, val_acc 0.7557\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e325bb01531a4148867a98dbf534689a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "metadata": {
      "tags": null
     },
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch 2: train_loss 0.4776, train_acc 0.7801, val_loss 0.4344, val_acc 0.8073\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "2050fb22a16e4214ad27855be2f0f02a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "metadata": {
      "tags": null
     },
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch 3: train_loss 0.4356, train_acc 0.8073, val_loss 0.4116, val_acc 0.8154\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "47ef73b33bcd44d5a108ad394706853f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 4: train_loss 0.4159, train_acc 0.8209, val_loss 0.4027, val_acc 0.8303\n"
     ]
    }
   ],
   "source": [
    "# 进行训练\n",
    "training_record[\"P-Tuning\"] = train(ptuning_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "id": "mSxSMbj9vBqX"
   },
   "outputs": [],
   "source": [
    "del ptuning_bert"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "id": "vwee_u0CnGoK",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 446
    },
    "outputId": "2adc8f6b-b695-41b1-df03-ea1fbb66fbfd"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ],
      "image/png": "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vvmm/v73v2vLli26//77VVhY6F3Ffty4cT6L4d1///06fvy4Hn74YW3fvl0LFy7Uiy++qAcffNDb5tFHH9XKlSu1Z88erVq1SjfeeKMsFovGjh17zj8fgHOvqMyll5du11X/s0If/XhAknRj32Qt//0QTb66q6Jt3I4SAAAA4S2ov9GOGTNGR44c0dNPP63s7GylpaVpyZIlatmypSQpKytLZvOpYw0pKSn67LPP9Mgjj6h3795KTk7Www8/rMcff9zbZv/+/Ro7dqyOHTumhIQEXX755fruu++UkJBwzj8fgHPH4zH00boDeumzrcrJK1/zon+7Zpp2XXelpTQNbnEAAABAAwr6qamJEydq4sSJte5bsWJFjW3p6en67rvv6uzvvffea6jSAISJ1buO6fmFW/TTgVxJUptmDk29pptG92olk4kp9AAAADi/BD3IA0B97T1WqJmLtmrJz9mSpBhbhB68qpMmXJYqu9VyhlcDAAAA4YkgDyDs5BY7NefLTC34do/K3B6ZTdKtA9pq8oguio+peQcKAAAA4HxCkAcQNlxuj/61Jksvf7FDxwvLJElXdI7Xk9d200WtTn+vTQAAAOB8QZAHEBa+3HZYLyzcoszDBZKkjgnRmnZtdw3pmsB18AAAALigEOQBhLTtOfl6fuEWfbX9iCSpWZRVj4zoorED2spqCeodNAEAAICgIMgDCEnHCko1a+l2/WtNljyGZLWYdEd6qh4a2llNoqzBLg8AAAAIGoI8gJBS6nJrwbd79PryTOWXuiRJI3u01NRruik1PjrI1QEAAADBR5AHEBIMw9CSTdmauXirso4XSZJ6tI7TtGu7K71jiyBXBwAAAIQOgjyAoNu4/6Se/3SL1uw5LklKjLXpDyO76qaL28hsZiE7AAAAoCqCPICgOZRbrJc+26aPfjwgSbJbzbp3cEfdN7iDom388wQAAADUht+UAZxzRWUu/WXlLv3lq50qcXokSTf2TdYfRnZV66aOIFcHAAAAhDaCPIBzxuMx9NG6A3rps63KySuVJPVv10zTruuutJSmwS0OAAAACBMEeQDnxOpdx/T8wi366UCuJKlNM4emXtNNo3u1ksnEdfAAAACAvwjyABrV3mOFmrloq5b8nC1JirFF6MGrOmnCZamyWy1Brg4AAAAIPwR5AI0it9ipOV9masG3e1Tm9shskm4d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tW3bVn/961/P6fcD5YJ2Rv7o0aNyu91q2bKlz/aWLVtq69attb5m165dWr58uW6//XYtWrRImZmZeuCBB+R0OvXMM8/Uq09JKi0tVWlpqfd5Xl6epPJbAjidzvp+xEZXWVso14ia4/TTgVy9uHibfth7UpLUMtamySM66YY+rWU2mxjPIOHnKfQxRuGBcQoPjFPoY4waltPplGEY8ng88ng8MgxDxU73WfdrGIaKy9yylDr9XsvIYbX43dYwDG/d1f3973/Xb3/7W3399deSpH379mn06NG64447tGDBAm3dulX33XefbDabnnnmGSUnJ+vAgQPe12dnZ+vqq6/WFVdcIY/Ho507d2rUqFGaMWOG/va3v+nIkSOaNGmSHnzwQc2bN8/7uj/96U967rnnNGXKFH344Ye6//77dcUVV6hr165+faZgMAzD+2dt38tzqfLvX223nwvk591kVH6qc+zgwYNKTk7WqlWrlJ6e7t3+2GOPaeXKlVq9enWN13Tp0kUlJSXavXu390PPmjVLL730kg4dOlSvPiXp2Wef1fTp02tsf/fdd733+QPO1slS6dMss74/Wj4Rxmo2NLS1oWGtPbLV/xaSAAAAOIOIiAi1atVKKSkpioyMVHGZW+mzvgtKLRmTL5Uj0r9f/h544AH9+9//lt1u924bPny4jh49qvz8fK1cudK7fcaMGfq///s/rV692nug4G9/+5umT5+uvXv3ymw+NRm7pKRE119/vVq0aKF3331XZrNZkyZNktls1uzZs0/VmpGh6667TgcOHJDdblfv3r2Vnp6uv/zlL5LKg3HXrl01ZcoU3XnnnWfzbblglJWVad++fcrOzvbOlqhUVFSk2267Tbm5uYqLizttP0E7Ix8fHy+LxaKcnByf7Tk5OWrVqlWtr0lKSpLVavU5ctGtWzdlZ2errKysXn1K0tSpUzV58mTv87y8PKWkpOjqq68+4zcwmJxOp5YuXaoRI0Z41wxA6MktLNGT76zQyuwIlbjKjwDe0CdJk0d0VlIT+xlejXOFn6fQxxiFB8YpPDBOoY8xalglJSXat2+fYmJiZLfbFVHmOvOLGklsXKyiIv2LYVarVUOGDNGf//xn77bo6GjdfvvtuuSSS3yyyq5duzRo0CA1adLEu23YsGH6wx/+oLy8PLVt29a7/f7771dRUZG++OILxcbGSpK2bNmijRs36oMPPvC2qzyDfezYMXXr1k1ms1n9+vXzed+kpCTl5+eHdG4yDEP5+fmKjY0N+l2gSkpK5HA4NHjwYJ8DNNKpmeH+CFqQj4yMVL9+/bRs2TLdcMMNksqnGSxbtkwTJ06s9TWXXXaZ3n33XXk8Hu8Rpe3btyspKcm7uEOgfUrl153YbLYa261Wa1j8wxkudV5oPB5DH607oJeWbFVOvlmSR5ekNtO0a7urT0rTYJeHOvDzFPoYo/DAOIUHxin0MUYNw+12y2QyyWw2y2w2K9pm1ebnRp51vx6PR/l5+YqNi/U54306gUytN5lMiomJUZcuXWrsi4mJ8XnPymveq26rfFz5uSXp+eef1+eff641a9b4hP6CggLdd999mjRpUo33atu2rff1kZGRNd7XMAy/P38wVE6nr/79CQaz2SyTyVTrz3YgP+tBXbV+8uTJuuOOO9S/f38NGDBAs2fPVmFhoXfF+XHjxik5OVkzZ86UVH7k6PXXX9fDDz+shx56SDt27NCLL77o85ftTH0C58LqXcc0Y+FmbTpQflSthc3QMzf00fVpbYJ+FBAAAOBCZzKZ/D4rfjoej0euSIuiIiOCHhC7deumDz/8UIZheH/f/PbbbxUbG6s2bdpIkj788EM999xzWrx4sTp27Ojz+osvvlibN29Wp06dznntCFxQg/yYMWN05MgRPf3008rOzlZaWpqWLFniXawuKyvL5wciJSVFn332mR555BH17t1bycnJevjhh/X444/73SfQmPYeK9TMRVu15OdsSVKsLUL3D2mvxJNbdE3PVoR4AAAANIoHHnhAs2fP1kMPPaSJEydq27ZteuaZZzR58mSZzWZt2rRJ48aN0+OPP64ePXooO7v899XIyEg1b95cjz/+uC699FJNnDhRd999t6Kjo7V582YtXbpUr7/+epA/HaoLapCXpIkTJ9Y57X3FihU1tqWnp+u7706/MMXp+gQaQ26xU68v36EFq/bI6TZkNkljB7TVIyO6qInNrEWLtgS7RAAAAJzHkpOTtWjRIv3hD39Qnz591Lx5c911112aNm2aJOmHH35QUVGRnn/+eT3//PPe11155ZVasWKFevfurZUrV+rJJ5/UFVdcIcMw1LFjR40ZMyZYHwmnEfQgD4Qzl9ujf63J0stf7NDxwjJJ0hWd4zXt2u7q2qp84RBuGwMAAID6WLBgQa3bazvhKZWH8jVr1tS6b/z48Ro/fvxp3++SSy7R559/Xuf+PXv21Ni2fv360/aJxkGQB+rpy22H9cLCLco8XCBJ6pQYoyev7aYhXRKYQg8AAACg0RDkgQBtz8nX8wu36KvtRyRJzaKsemREF40d0FZWS+iu1gkAAADg/ECQB/x0rKBUs5Zu17/WZMljSFaLSeMHpWri0M5q4uC2MAAAAADODYI8cAalLrcWfLtHry/PVH6pS5I0qkcrTbnmIqXGRwe5OgAAAAAXGoI8UAfDMLR4U7ZmLt6ifceLJUk9k+M07druurRDiyBXBwAAAOBCRZAHarFx/0nN+HSzvt9zQpLUMs6mP4y8SL/qmyyzmYXsAAAAAAQPQR6o4lBusV5ask0frTsgSbJbzbp3cEf99soOiorkxwUAAABA8JFMAElFZS7NXblLf/1qp0qcHknSr/om6w+juiqpiSPI1QEAAADAKQR5XNA8HkMfrTuglz7bqpy8UknSJanNNO3a7uqT0jS4xQEAAABALbjpNS5Yq3cd0y/mfKNH/7NBOXmlSmnu0J9vv1j/vi+dEA8AAICwN2TIEP3ud7/zPk9NTdXs2bMb5b0WLFigpk2bNkrf50r171coI8jjgrP3WKF++4+1GvPX77TpQJ5ibRGaes1FWvrIlRrdK0kmE4vZAQAAIPjGjx8vk8lU4yszMzMo9axYsaLWeqZNm6YxY8Zo+/btjfbeqamptb535df48ePP+j0++ugjzZgx4+yLPQeYWo8LRm6xU68v36EFq/bI6TZkNkljB7TVIyO6KD7GFuzyAAAAgBpGjRql+fPn+2xLSEgIUjXltm3bpri4OO/zmJgYORwOORyNt7bU999/L7fbLUlatWqVbrrpJp86GuK9mzdvftZ9nCuckcd5z+X26O2MPRry0pd68+vdcroNDe6SoCW/G6wXbuxFiAcAALjQGIZUVtgwX86iwNobRkCl2mw2tWrVyufLYrFo/PjxuuGGG3za/u53v9OQIUP86vfOO+/Udddd57PN6XQqMTFRb7311mlfm5iY6FNPTExMjan1zz77rNLS0vSPf/xDqampatKkiW699Vbl5+d723g8Hs2cOVPt27eXw+FQnz599MEHH9T6ngkJCd73qwzclXUsWbJE7dq182n/8ccf+8y0/eMf/6iLL774tPXUdinCiy++qDvvvFOxsbFq27at/vrXv/q8z6pVq5SWlia73a7+/ft733f9+vWn/R6eLc7I47z25bbDemHhFmUeLpAkdUqM0ZPXdtNVXRODXBkAAACCxlkkvdj6rLsxS2oa6IueOChFRp/1e5+tu+++W4MHD9ahQ4eUlJQkSfr0009VVFSkMWPGNMh77Ny5Ux9//LE+/fRTnThxQrfccov++Mc/6oUXXpAkzZw5U++8847mzp2rzp0766uvvtKvf/1rJSQk6Morr2yQGgKppzZ/+tOfNGPGDD3xxBP64IMPdP/99+vKK69U165dlZeXp+uvv16jR4/Wu+++q717956za+wJ8jgvbc/J1/MLt+ir7UckSc2irJo8oovGDmirCAsTUQAAABAePv30U8XExHifX3PNNfrPf/5z1v0OGjRIXbt21T/+8Q899thjkqT58+fr5ptv9nm/2rRp08bn+d69e2tt5/F4tGDBAsXGxkqSfvOb32jZsmV64YUXVFpaqhdffFFffPGF0tPTJUkdOnTQN998o7/85S+NEuRPV09dRo8erQceeECS9Pjjj+vll1/Wl19+qa5du+rdd9+VyWTSm2++Kbvdru7du+vAgQO65557Grz26gjyOK8cKyjVrKXb9a81WfIYktVi0oTL2uvBqzqpicMa7PIAAAAQCqxR5WfGz5LH41Fefr7iYmNlNvt5ssgaFdB7XHXVVXrjjTe8z6OjG+5s/t13362//vWveuyxx5STk6PFixdr+fLlZ3zd119/7Q3DktSsWbNa26Wmpvq0S0pK0uHDhyVJmZmZKioq0ogRI3xeU1ZWpr59+0qSevTo4T1IcMUVV2jx4sWBfcAA6qlL7969vY9NJpNatWrlfc22bdvUu3dv2e12b5sBAwacVY3+IsjjvFDqcmvBt3v0+vJM5Ze6JEmjerTS1NEXqV2L4E9dAgAAQAgxmRpmervHI1nd5X35G+QDFB0drU6dOtXYbjabZVS73t7pdAbU97hx4zRlyhRlZGRo1apVat++va644oozvq59+/Z+3WrOavU9kWYymeTxeCRJBQXll74uXLhQycnJPu1stvI1rBYtWuT9TKdbzM7f78Xp6qnPZwgmgjzCmmEYWrwpWzMXb9G+48WSpJ7JcXrq2u4a2KFFkKsDAAAAGkdCQoI2bdrks239+vU1gufptGjRQjfccIPmz5+vjIwM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\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "plot_training_record(training_record, metric_name=\"val_acc\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "id": "dQn2R_bRvBqX",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "06963097-a900-4b58-a5da-908b3248c580"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Total Parameters:\t 124.27M\n",
      "Frozen Parameters:\t 109.48M\n",
      "Trainable Parameters:\t  14.78M\t11.90%\n"
     ]
    }
   ],
   "source": [
    "# 定义一个继承自nn.Module的类，用于前缀调优的BERT模型\n",
    "class PrefixTuningBert(nn.Module):\n",
    "    def __init__(self, num_virtual_tokens=25, prefix_projection=True):\n",
    "        super().__init__()  # 调用父类的初始化方法\n",
    "        # 加载预训练的BERT模型\n",
    "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
    "        # 添加一个线性分类层\n",
    "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
    "\n",
    "        # 冻结预训练模型的参数，只训练分类器层\n",
    "        for param in self.model.parameters():\n",
    "            param.requires_grad = False\n",
    "\n",
    "        # 前缀相关的参数\n",
    "        self.num_virtual_tokens = num_virtual_tokens  # 虚拟token的数量\n",
    "        self.prefix_projection = prefix_projection  # 是否使用前缀投影\n",
    "        hidden_size = self.model.config.hidden_size  # 隐藏层大小\n",
    "        self.num_layers = self.model.config.num_hidden_layers  # Transformer层数\n",
    "        self.num_attention_heads = self.model.config.num_attention_heads  # 注意力头数\n",
    "        self.embed_size_per_head = hidden_size // self.num_attention_heads  # 每个头的嵌入大小\n",
    "\n",
    "        # 如果使用前缀投影\n",
    "        if self.prefix_projection:\n",
    "            # 使用两层MLP来编码前缀token\n",
    "            self.prefix_tokens = nn.Parameter(torch.zeros(self.num_virtual_tokens, hidden_size))\n",
    "            self.transform = torch.nn.Sequential(\n",
    "                torch.nn.Linear(hidden_size, hidden_size),  # 第一层MLP\n",
    "                torch.nn.Tanh(),  # 使用tanh激活函数\n",
    "                torch.nn.Linear(hidden_size, self.num_layers * 2 * hidden_size),  # 第二层MLP\n",
    "            )\n",
    "        else:\n",
    "            # 不使用前缀投影，直接使用token\n",
    "            self.prefix_tokens = nn.Parameter(torch.zeros(self.num_virtual_tokens, hidden_size))\n",
    "\n",
    "    def forward(self, input_ids, attention_mask, **args):\n",
    "        # 将前缀token投影并分割为key和value\n",
    "        batch_size = input_ids.size(0) #获得批次大小\n",
    "        prefix_tokens = self.prefix_tokens.unsqueeze(0).expand(batch_size, -1, -1)\n",
    "        if self.prefix_projection:\n",
    "            past_key_values = self.transform(prefix_tokens) #输出的形状为(batch_size, 25, self.num_layers * 2 * hidden_size)\n",
    "        else:\n",
    "            past_key_values = prefix_tokens\n",
    "\n",
    "        # 改变形状以适配Transformer的输入格式\n",
    "        # print(past_key_values.shape)\n",
    "        #(batch_size, self.num_layers, 2, self.num_attention_heads, -1, self.embed_size_per_head)\n",
    "        past_key_values = past_key_values.view(batch_size, self.num_layers, 2, self.num_attention_heads, -1, self.embed_size_per_head)\n",
    "        # print(past_key_values.shape) #shape值为torch.Size([32, 12, 2, 12, 20, 64])\n",
    "        # 重新排列维度以适配Transformer的输入格式\n",
    "        #(2，self.num_layers,batch_size, self.num_attention_heads, -1, self.embed_size_per_head)\n",
    "        past_key_values = past_key_values.permute(2, 1, 0, 3, 4, 5)\n",
    "        # 分离成多个包含key和value的元组，每个元组对应一层Transformer\n",
    "        past_key_values = tuple([tuple([past_key_values[0][i], past_key_values[1][i]]) for i in range(self.num_layers)])\n",
    "        # for k,v in past_key_values:\n",
    "        #   print(f'k.shape{k.shape}')  #torch.Size([32, 12, 20, 64])\n",
    "        #   print(f'v.shape{k.shape}')  #torch.Size([32, 12, 20, 64])\n",
    "        # 修改注意力掩码，包含前缀token\n",
    "        extended_attention_mask = torch.cat([\n",
    "            torch.ones(batch_size, self.num_virtual_tokens).to(attention_mask.device),  # 前缀的注意力掩码\n",
    "            attention_mask\n",
    "            ], dim=1)\n",
    "\n",
    "        # 将数据输入到BERT模型中\n",
    "        outputs = self.model(input_ids, extended_attention_mask, past_key_values=past_key_values)\n",
    "\n",
    "        feature = outputs.last_hidden_state[:, 0, :]  # 获取[CLS] token的特征表示\n",
    "\n",
    "        # 使用分类层进行分类\n",
    "        logits = self.classifier(feature)\n",
    "\n",
    "        # 返回sigmoid激活后的logits\n",
    "        return torch.sigmoid(logits).squeeze()\n",
    "\n",
    "# 创建前缀调优BERT模型实例\n",
    "prefix_tuning_bert = PrefixTuningBert()\n",
    "# print(prefix_tuning_bert)\n",
    "# 计算模型参数数量\n",
    "count_parameters(prefix_tuning_bert)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "id": "Z0AL8NA12KDh",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "e53b8535-3785-4b37-a75d-cd22518b407f"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "18432"
      ]
     },
     "metadata": {},
     "execution_count": 39
    }
   ],
   "source": [
    "768*12*2 #2代表key和value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "id": "nxCuEu2s2gdQ",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "90b14615-77a7-4b81-d2c3-89d02e78d6be"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "768"
      ]
     },
     "metadata": {},
     "execution_count": 40
    }
   ],
   "source": [
    "12*64"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "id": "tVjadWn41o72",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 264,
     "referenced_widgets": [
      "72ab0520513648e9a5386a6ae9188dfd",
      "847c341b8d654d81b400f5ac1434fb9a",
      "3b97367e9bff495b9885a1424c9ca323",
      "808aef19609f4f9f86cb016deafd4d69",
      "5524abfa352b4949b78994981b8a02b5",
      "c16ecb284bcb436a92140e8299f4ab51",
      "d43af03c97d4463eb0ee5d468ef57177",
      "a6b09fad9c2741b49b970eceb1bb0951",
      "4921af57409347a6bdc35e8e62ea3032",
      "238662ee814846a2972873acbafed551",
      "1310686e330b4423aefa0e34d4143a75",
      "59fb18cacf244b7f972a7a0c1229ab81",
      "1cf93b09f770423c98b73d5ff3664cf7",
      "9bd661e6ac214155b8ee14b03f1c0121",
      "55be390369be40e6ad1d0c20ad258301",
      "feb8091a986f4f7e99b715cde42c87b3",
      "41d596e4607b4feea57060d37eb04737",
      "107942befb5e45c2b058551450c9dc1f",
      "8acc3af5dbf2444b9fbf39e16558e0d9",
      "2716b248c4a24a84a4272f117c288d59",
      "31f84e6246a24c46bcbc0d8c86896e66",
      "323e83dfab2b40c4a3be2da3032c06cf",
      "0f0a1de316c0486cacc45438bc067f3c",
      "6cfde4cd2b184f9c8a52b41aa4e50b5d",
      "293908eb299b40cfa23b1ce6b81ec620",
      "9a908fe6e4d046ab814debd30e2eeeca",
      "6fa3925358e549bf943514cf9207f294",
      "843445f6e9fa4f9f8f7a05777801039a",
      "598fd001a40847ba821421440937cb7b",
      "ee658a8602934efc9b40fc5761cc062d",
      "a0c8dcdf0ff847eb817bbdb71673d080",
      "f6b45442d6dc4db6b332d7984591fbd1",
      "0111cb2e672f453cb3cde249a092415b",
      "8eca9a0b2ec14a40aeb355b9e0e9121f",
      "331e9873d5a94d99bc17f9e02111218e",
      "ded94bfb9f284cd195176bec1ea10f6f",
      "229033e8b5d24d988f3aa8713c2254aa",
      "5955b8ad654f42a09005417bd14f0b0f",
      "19798b6f8d3940d8937b10a36be4e009",
      "ffa7be43e90543989bb8a3ef817137da",
      "08191a05fee241929b74162becc8995a",
      "c542aed35ecf42e188406c461daaf63e",
      "b65ab322a14d4611ace7de3580279eec",
      "c9b726562f5846099ccef27365051230",
      "469832d473f34fd79a0e57a7756d0ee4",
      "3db71a6f93bf47caae37b648b6d32ccf",
      "9cfa8ac4ae8641a4809f43d5895e887e",
      "0490a8ec52c040ad8d2052f46cf43699",
      "e7a023333e09433682febfb559ff8cc6",
      "b8f40e4800e94652850d290e574803f1",
      "17c70312c6fa4610a6b7574073883819",
      "a48d4b6132044bba95c6b540d5eb873b",
      "b9d6aceea4ff473387ff1fe3bb222b24",
      "504eca07441e4fb79700b6955e7841d3",
      "e2efa7776f964285a15d217b0fddb9a2"
     ]
    },
    "outputId": "35fc01c6-1304-4b86-d3b5-ef57027bb380"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "72ab0520513648e9a5386a6ae9188dfd",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "metadata": {
      "tags": null
     },
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch 0: train_loss 0.6942, train_acc 0.5146, val_loss 0.6799, val_acc 0.5298\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "59fb18cacf244b7f972a7a0c1229ab81",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 1: train_loss 0.4457, train_acc 0.7884, val_loss 0.3217, val_acc 0.8647\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "0f0a1de316c0486cacc45438bc067f3c"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 2: train_loss 0.3164, train_acc 0.8675, val_loss 0.3021, val_acc 0.8716\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "8eca9a0b2ec14a40aeb355b9e0e9121f"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 3: train_loss 0.3013, train_acc 0.8743, val_loss 0.2929, val_acc 0.8704\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "469832d473f34fd79a0e57a7756d0ee4"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 4: train_loss 0.2950, train_acc 0.8759, val_loss 0.2915, val_acc 0.8727\n"
     ]
    }
   ],
   "source": [
    "# 训练模型，这里的train函数和train_loader、val_loader等变量需要在其他地方定义\n",
    "# num_epochs和patience变量也需要在其他地方定义\n",
    "training_record[\"Prefix Tuning\"] = train(prefix_tuning_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "id": "nbQWSuFJvBqY"
   },
   "outputs": [],
   "source": [
    "del prefix_tuning_bert"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "id": "Icv_vx-UQEJI"
   },
   "outputs": [],
   "source": [
    "# !cp -r ~/.cache/huggingface/hub/models--bert-base-uncased ."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "id": "PRxv42DRQa3w",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "a3b846c8-171c-44fa-f4c1-05c8f9a2a9eb"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "/content/drive/MyDrive\n"
     ]
    }
   ],
   "source": [
    "!pwd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "id": "0JhjzSl_nH1i",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 446
    },
    "outputId": "d9b54163-7e5b-41c7-a6be-85e622935751"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/IAAAINCAYAAACd0URAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAuw9JREFUeJzs3Xl8VOXd///XrJkkJKyBQAhrAFFZFCTs7qBYrV0Ul7pX60K1pb2rtG60Vnp//ZXS1oUuot1xr3qLCCKgCAFEBBRZwhbWkAAhZJ3lnN8fkwyZZAKZkOTMJO+njzwyc+bMmc/kInHe57rOddlM0zQRERERERERkbhgt7oAEREREREREWk4BXkRERERERGROKIgLyIiIiIiIhJHFORFRERERERE4oiCvIiIiIiIiEgcUZAXERERERERiSMK8iIiIiIiIiJxREFeREREREREJI44rS4gFhmGwYEDB0hJScFms1ldjoiIiIiIiLRypmly4sQJevTogd1+6j53BfkIDhw4QGZmptVliIiIiIiISBuzd+9eevbsecp9FOQjSElJAYI/wNTUVIurqZ/P52PRokVMmjQJl8tldTlSD7VTfFA7xT61UXxQO8UHtVPsUxvFB7VTfIiXdiouLiYzMzOUR09FQT6C6uH0qampMR/kk5KSSE1Njel/kG2d2ik+qJ1in9ooPqid4oPaKfapjeKD2ik+xFs7NeTybk12JyIiIiIiIhJHFORFRERERERE4oiCvIiIiIiIiEgcUZAXERERERERiSMK8iIiIiIiIiJxREFeREREREREJI4oyIuIiIiIiIjEEQV5ERERERERkTiiIC8iIiIiIiISRxTkRUREREREROKIgryIiIiIiIhIHFGQFxEREREREYkjCvIiIiIiIiIicURBXkRERERERCSOKMiLiIiIiIiIxBEFeREREREREZE44rS6ABEREYkBpgmGHwK+4PeaXxG3Vd/2hd23+SpJL1qHLdcF7kRwuKu+XDVuOyNvtzus/imIiIjEBQV5ERGRU6kOuGGhNlAjwFbfrxtqQ/eNQN0wXG9gjuZYvsjHjlTn6Y5lBprkx+UEsgF2/T76J9vs4QHf7qoV9l3RnRio+bw6xzrFvqfdxw12J9hsTfIzExERiZaCvIiINI5pRhcUTxs6Tx1E7b5KBh38GvuyL4DAGR3rZJ2R6qoRpgO+Jgu4ccvurPpyBXvMHa4a26q+HFWP2V0YNgdFx47SIbUddsMPAW/Vly/8e3Vb1GQa4K8IfsWDBp0caODJCPvpTkbUd7x6bttrnZCw62pKEZHWREFeRKSphQJufUEx2tDZyB7fZuk9rhXcW5ADOAvgUIu+bP1qh9lQoK29rWYQdtYKw6cLx019LMfJ59YI36c8fpS9zgGfj08WLGDKlCnYXa5T72wYwX9PYUG/duiPtL3W7YgnDCLdPt1rVZ1gqO8Yder3Bb98Uf2IrGFzhIV9p8PFZZV+nHtmgjMhyhMDzXCiofYlFhrtICJySgryInJqphnsJTMCwZ7JsO9RbDeN4If2OvsG6tnegGOH7RPNsetudwT8jDp4AMcr/6g67hkOWW7LbKfvtQ0PjQ0LoQZ29uzbT68+/XG4Ek4TQps40EaqVUHjzNntYE8IBslYF5pDoDrgN+DkQaNPMETY91QnGCKd+Kg9ksQMgL88+AXYgGSAowUt/ZNsAFuNgB9ppEKUJwaivQwjdLyGXNbh0t8CEbGEgry0DqZZ9dX4IBd5uxE5QEYROO1+L1n5m7F/ui24TkRjQ+tpw2w0xzjNe699/DbADnQHON6ML2Jz1BNoq+/XFxxP1UMbbQhtymPVE5ib6UNtwOdj44IF9Jw8BcfpenpFmprNdrLHORiBY1v1ichIod/w4assY9UnyxmbPRKnzWiGERFRjIYwag9pMCFQGfyKB6HLIk4R9hsx34MdB/3zc7Gv3h3cbrMDtuB3m63qb23N+7Uer/MY9e97umOfct/q+7aGHTuafU937NO+B5HWS0E+nh3+mk4lW7HtSQW7rSp4WRFmG9PLWvuxM+ypjeGw6QDOAThgcSHNxlbVO+mo8d0eft9mr7ptP/2+p9xuj3DMaI8ReXvAMNm0eQvnDh2O0+2JEHIbEWhrB2Z9qBCRlmKv+hvn8kR+3OfjWPI+zF5jwOoTY6bZ+JEHp9rnlJdtRHG5Rc2TFf5KwAyvv3pkVhNfYuEAzoVW/PmhJTTkJIE9OEQlmn1r3HcCl5SW4dz7VNXnE1u9+zbdyYpGnghp8hMyzfkeG3jCqoHtaAsESC3b04z/1lqegnwcc3zwMBPyVsJ2qyuJE1GHxdqPnSZY1rPdwMa+Awfpmdkbu+PU+0a9vYnDbPA9R1tP6winhs/HnsMLOGf4FOs/1IqItCU2Gzjdwa94YATqOTHQwEspGniCwfBVsD9vNxkZPbDbOHmpG1XfQ/epdb/242aU+1bfN09zrIbsG+k+pzlWjftnrKqDyzz9no1lA1IAKg8234vIGXMC5yX2Ae6zuJKmoyAfz9r3pCQhneSUVGx2J6GzgA0OYQ0MeE3Wm1q9vXGB+NTb7ad/XYsEfD7WL1hA94ZM/CQiIiKxze4AeyK4Epv1ZQI+H58vWEB6W/78ENVJgsacrKhv/9O9zsn7fp+XnJxVjM4ehdPhiLA/Dayj7rEtPYkS9c8+mjoi7N8kdVS9xwiPmUaAskDHeLgwqsEU5ONY4JrnWVI1M7Crrf6BFxEREZHWKexad4elpdTH9Pk48uUxzN7jNaIvhvl9PtYuWMAUqwtpQlpUVERERERERCSOKMiLiIiIiIiIxBEFeREREREREZE4oiAvIiIiIiIiEkcU5EVERERERETiiIK8iIiIiIiISBxRkBcRERERERGJIwryIiIiIiIiInFEQV5EREREREQkjijIi4iIiIiIiMQRBXkRERERERGROKIgLyIiIiIiIhJHFORFRERERERE4oiCvIiIiIiIiEgcUZAXERERERERiSOWB/nnnnuOPn364PF4yM7OZs2aNfXu6/P5+OUvf0n//v3xeDwMGzaMhQsXntExRUREREREROKJpUH+lVdeYfr06TzxxBN8/vnnDBs2jMmTJ3P48OGI+z/66KP86U9/4o9//CObN2/m3nvv5Vvf+hbr169v9DFFRERERERE4omlQX727Nncfffd3HHHHZx99tnMnTuXpKQk5s2bF3H/f/zjH/z85z9nypQp9OvXj/vuu48pU6bw29/+ttHHFBEREREREYknTqte2Ov1sm7dOmbMmBHaZrfbueyyy1i1alXE51RWVuLxeMK2JSYmsmLFikYfs/q4lZWVofvFxcVAcCi/z+eL/s21kOraYrlGUTvFC7VT7FMbxQe1U3xQO8U+tVF8UDvFh3hpp2jqsyzIFxYWEggE6NatW9j2bt26sWXLlojPmTx5MrNnz2bixIn079+fJUuW8OabbxIIBBp9TIBZs2Yxc+bMOtsXLVpEUlJStG+txS1evNjqEqQB1E7xQe0U+9RG8UHtFB/UTrFPbRQf1E7xIdbbqaysrMH7WhbkG+P3v/89d999N2eddRY2m43+/ftzxx13nPGw+RkzZjB9+vTQ/eLiYjIzM5k0aRKpqalnWnaz8fl8LF68mMsvvxyXy2V1OVIPtVN8UDvFPrVRfFA7xQe1U+xTG8UHtVN8iJd2qh4Z3hCWBfkuXbrgcDjIz88P256fn096enrE56SlpfHf//6XiooKjhw5Qo8ePXjkkUfo169fo48JkJCQQEJCQp3tLpcrphu6WrzU2dapneKD2in2qY3ig9opPqidYp/aKD6oneJDrLdTNLVZNtmd2+1mxIgRLFmyJLTNMAyWLFnCmDFjTvlcj8dDRkYGfr+fN954g29+85tnfEwRERERERGReGDp0Prp06dz2223MXLkSEaNGsWcOXMoLS3ljjvuAODWW28lIyODWbNmAbB69Wr279/P8OHD2b9/P08++SSGYfCzn/2swccUERERERERiWeWBvmpU6dSUFDA448/zqFDhxg+fDgLFy4MTVaXl5eH3X5y0EBFRQWPPvooO3fupF27dkyZMoV//OMfdOjQocHHFBEREREREYlnlk92N23aNKZNmxbxsWXLloXdv/DCC9m8efMZHVNEREREREQknll2jbyIiIiIiIiIRE9BXkRERERERCSOKMiLiIiIiIiIxBEFeREREREREZE4oiAvIiIiIiIiEkcU5EVERERERETiiIK8iIiIiIiISBxRkBcRERERERGJIwryIiIiIiIiInFEQV5EREREREQkjijIi4iIiIiIiMQRBXkRERERERGROKIgLyIiIiIiIhJHFORFRERERERE4oiCvIiIiIiIiEgcUZAXERERERERiSMK8iIiIiIiIiJxREFeREREREREJI4oyIuIiIiIiIjEEQV5ERERERERkTjitLoAERERERERaTtM0wQTDNPENExMA0zDxDBMTLPW/Rrb6r1fc1uEY/p9fiqOOKx+201KQV5ERETOWCBgEPAaVJR7CVTYKDvuxeU2AbDZwYYNbGCzgc1WfbvGNmxgBxu1HhcRsZBpmOHBsMZtwzDxeX34y22cOFqBw+4PBUqjRpCsc/80xzx538QIe7zqftgxTx7jZMg9+Trhwbb6tQm/H+k1wu5Xhe4axw8P0LXuR3qNWvdNs+Xb0tU+oeVftBkpyIuIiLQyRsDA7zPwew38vgABX/B+wGfg9wZCjwV8VbdrP+YzCHgD+P3BcB7cFqg6XtW+1cet2mYaNT+VteOfS1c3zZuxRQj3VeEfm63q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s10a/3+5EJ8zZ06pY5o4cSLdunXj7rvv5q677mLAgAFOY9sryvjx4/nd735HfHw8vXv3JiAggD59+uDj41Phx65o6lovIiIiIiJSBSUkJFzX+6Ghobz//vvFbjdgwIBCY8l/va/u3bsXGsMeGRlJSkrKVeO5LDEx0WnZZrOxcOFCp3VDhw51Wi5qbPvlZ8ZfjunXbeLj44mPj3dqf+V5eXp6Mnv2bF5//XVSU1MJCAigZcuWDBw4sETnUZWpkBcREREREZFq59ixY6xatYquXbvy888/8/7773PkyBEefPBBV4dWZirkRUREREREpNqxWCwkJCTw7LPPYpomrVq1Ys2aNcTExLg6tDJTIS8iIiIiIiLVTkREBJs2bcJut5OamuoY718dVI+zEBEREREREakhVMiLiIiIiEiNUNSEaiKVqbz+BlXIi4iIiIhItXb5meW5ubkujkRquszMTAC8vLzKtB+NkRcRERERkWrN09MTPz8/zp07h5eXV7mNk7bb7eTm5pKdnV1txl5XR1UhT6ZpkpmZydmzZwkKCnJ8uXS9VMiLiIiIiEi1ZhgGYWFhHDlyhGPHjpXbfk3TJCsrC19fXwzDKLf9SvmqSnkKCgoiNDS0zPtRIS8iIiIiItWe1WqlefPm5dq9Pi8vjw0bNnD77beXuau0VJyqkicvL68y34m/TIW8iIiIiIjUCBaLBR8fn3Lbn4eHB/n5+fj4+KiQr8KqY540kENERERERETEjaiQFxEREREREXEjKuRFRERERERE3IjGyBfBNE0AUlNTXRzJ1eXl5ZGZmUlqamq1GetRHSlP7kF5qvqUI/egPLkH5anqU47cg/LkHtwlT5frz8v16NWokC9CWloaABERES6ORERERERERGqStLQ0atWqddU2hlmScr+GsdvtnDp1isDAQJc/Z/BqUlNTiYiI4MSJE9hsNleHI8VQntyD8lT1KUfuQXlyD8pT1accuQflyT24S55M0yQtLY0GDRpgsVx9FLzuyBfBYrHQsGFDV4dRYjabrUr/QcolypN7UJ6qPuXIPShP7kF5qvqUI/egPLkHd8jTte7EX6bJ7kRERERERETciAp5ERERERERETeiQt6NeXt78/zzz+Pt7e3qUOQqlCf3oDxVfcqRe1Ce3IPyVPUpR+5BeXIP1TFPmuxORERERERExI3ojryIiIiIiIiI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zVSaPI0ZM8bRtn79+ma/fv3M7du3uyDqmuPyY8qufF3Oy9ChQ81u3boV2iY2Nta0Wq1m06ZNzfnz51d63DVNafP017/+1WzWrJnp4+NjBgcHm927dzfXrVvnmuBriKLyAzhdH/pscr3ryZM+myrfsGHDzMaNG5tWq9UMCQkx77jjDkeBaJq6lqqC0uZI11HVcWUhXx2vJ8M0TbPy7v+LiIiIiIiISFlojLyIiIiIiIiIG1EhLyIiIiIiIuJGVMiLiIiIiIiIuBEV8iIiIiIiIiJuRIW8iIiIiIiIiBtRIS8iIiIiIiLiRlTIi4iIiIiIiLgRFfIiIiLicoZhsHjxYleHISIi4hZUyIuIiNRw8fHxGIZR6BUXF+fq0ERERKQInq4OQERERFwvLi6O+fPnO63z9vZ2UTQiIiJyNbojLyIiInh7exMaGur0ql27NnCp2/ucOXPo27cvvr6+NG3alE8++cRp+z179tCzZ098fX2pU6cOI0eOJD093anNvHnzaNmyJd7e3oSFhTF69Gin98+fP8+9996Ln58fzZs358svv6zYkxYREXFTKuRFRETkmiZPnsz999/Prl27GDJkCIMHD2bv3r0AZGRk0KdPH2rXrk1SUhKLFi1izZo1ToX6nDlzGDVqFCNHjmTPnj18+eWXREVFOR1j6tSpDBw4kN27d9OvXz+GDBnCL7/8UqnnKSIi4g4M0zRNVwchIiIirhMfH88HH3yAj4+P0/pJkyYxadIkDMPgscceY86cOY73brnlFtq1a8dbb73FO++8w/jx4zlx4gT+/v4ALFu2jP79+3Pq1Cnq169PeHg4jz76KH/5y1+KjMEwDP70pz8xbdo04NKXAwEBASxfvlxj9UVERK6gMfIiIiJCjx49nAp1gODgYMfPnTt3dnqvc+fO7Ny5E4C9e/fStm1bRxEPcOutt2K329m/fz+GYXDq1CnuuOOOq8bQpk0bx8/+/v7YbDbOnj17vackIiJSbamQFxEREfz9/Qt1dS8vvr6+JWrn5eXltGwYBna7vSJCEhERcWsaIy8iIiLX9M033xRajomJASAmJoZdu3aRkZHheH/Tpk1YLBaio6MJDAwkMjKStWvXVmrMIiIi1ZXuyIuIiAg5OTkkJyc7rfP09KRu3boALFq0iA4dOnDbbbfx4YcfsnXrVt577z0AhgwZwvPPP8/QoUOZMmUK586d48knn+Thhx+mfv36AEyZMoXHHnuMevXq0bdvX9LS0ti0aRNPPvlk5Z6oiIhINaBCXkRERFixYgVhYWFO66Kjo9m3bx9waUb5hQsX8sQTTxAWFsZHH33EjTfeCICfnx8rV67k6aef5uabb8bPz4/777+fV1991bGvoUOHkp2dzaxZs3j22WepW7cuv/3tbyvvBEVERKoRzVovIiIiV2UYBp9//jkDBgxwdSgiIiKCxsiLiIiIiIiIuBUV8iIiIiIiIiJuRGPkRURE5Ko0Ck9ERKRq0R15ERERERERETeiQl5ERERERETEjaiQFxEREREREXEjKuRFRERERERE3IgKeRERERERERE3okJeRERERERExI2okBcRERERERFxIyrkRURERERERNyICnkRERERERERN/J/Hm+uZMFIY2MAAAAASUVORK5CYII=\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "plot_training_record(training_record, metric_name=\"val_acc\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "id": "-Pglk6rhMQR5",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000,
     "referenced_widgets": [
      "38d19a35ce474fe58ac398edfbf14a81",
      "37e71814a62e451dba4ba7f2554f9815",
      "5e269215b89e44299cf61576b8f69027",
      "18dcf1f5fcb948029a73468281fef607",
      "e0ee0c3f3e5a4653b71a9c2c5d765f07",
      "aba113a02d70466b960b7471ca07c633",
      "6c15cc13193d483f9f7b312d8532b623",
      "7c7a82a635924453a681b23909f63b2c",
      "bc571f7ded3249f98611afdf5f46c9d9",
      "3748830cf044466a9a683ca886b7ab19",
      "9f280d3df3e942ed903e857fe18e7f9b",
      "61383dde108143e38e255e1b6870dbca",
      "79d25ab72fb3418cb3639f0eec66775e",
      "6ca931af97a94cb7b35790a58ee1fa1b",
      "62ff7c403cbf482e8ddbc20770732528",
      "0501b51f5b5b4d2b8f2bab9dba12c2c0",
      "2711a8bda487452fa930ef2d3697baab",
      "310f5ca5f4ae40049c7100c5f09a4cf5",
      "ddaa85b043cc4839a1a6e53fe7a446dd",
      "332bffe81f4848e6bd5b862e9b494485",
      "dc411c6fa73041d7904563bece0960bd",
      "766b10b9573a44eeb531855fd07a52a5",
      "2725a5b3ef44469e9f473d414afbb1dd",
      "6746893962774b14b2dd27aa3029e261",
      "05eaa99edca049889ad7a864d1a29e03",
      "c375e3f0e382403fad49cb65f7e8a1c3",
      "a6e1fb92e4024d8c988e75a51000a5c0",
      "6e401a4886b74889b4c8b64bc57f8496",
      "3077fbf9e93b4d3f82e95fc4da01f6de",
      "62a85f14b5764ccfa90ae11b15bfea6b",
      "d509a29f38ab4c79a007e0fc265454ed",
      "2af98d7526b7499da8356c5816ab3f03",
      "0bd29aefdc65499a91df5719824c35af",
      "fd8311d666974f77a2bef50327810d53",
      "b73ff84682644470aa61ab4f6261be91",
      "0872371c779d41d69359c60b8571d38a",
      "b0ab6bab56b148689e47da275dd9006e",
      "e9427f461f9a420b8f960ccc87aa3d2f",
      "377d503b47634bd8b605f5c5d554b97a",
      "bcb882b0bfd149a79c4a92124bfed84d",
      "bce8dab56d454e6fbc340f7f4cdff3be",
      "631d2b18707f4b23aa45180fa330f8c4",
      "323fbceec03940439cbf0ccdefe7a680",
      "d31610947a0f44eda83b965414076116",
      "3e07f93c25294dc6b3849b3a5aa8e06c",
      "a8ce275923f046f09e8f75b6f36ea27a",
      "b2a096c7e6d8442e88bc4b8d4aac546d",
      "f979e63d307f4ed1a2ab06e038105832",
      "d704e1ea666047e8a575ad3bb4d3a98b",
      "2f7b62015f4144a492b7e4c7389cc2a9",
      "4d9f83d9f41f43adb8526b48682380bf",
      "e267e4407dd94cf5a2ee91d6b9406d5d",
      "a0128e90d07e4e9fa3df3962daf4a7fb",
      "9a566ee5d4bb4f33b3cb1d0e42f8c8b7",
      "6370a9a264bd4bc8a237082836dd3759"
     ]
    },
    "outputId": "e9a15a72-8591-4e79-c53a-4fabfa39bd48"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "PTuningV2Bert(\n",
      "  (model): BertModel(\n",
      "    (embeddings): BertEmbeddings(\n",
      "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
      "      (position_embeddings): Embedding(512, 768)\n",
      "      (token_type_embeddings): Embedding(2, 768)\n",
      "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "      (dropout): Dropout(p=0.1, inplace=False)\n",
      "    )\n",
      "    (encoder): BertEncoder(\n",
      "      (layer): ModuleList(\n",
      "        (0-11): 12 x BertLayer(\n",
      "          (attention): BertAttention(\n",
      "            (self): BertSdpaSelfAttention(\n",
      "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "            )\n",
      "            (output): BertSelfOutput(\n",
      "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "            )\n",
      "          )\n",
      "          (intermediate): BertIntermediate(\n",
      "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
      "            (intermediate_act_fn): GELUActivation()\n",
      "          )\n",
      "          (output): BertOutput(\n",
      "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
      "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "          )\n",
      "        )\n",
      "      )\n",
      "    )\n",
      "    (pooler): BertPooler(\n",
      "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "      (activation): Tanh()\n",
      "    )\n",
      "  )\n",
      "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
      "  (prefix_embeddings): Embedding(25, 768)\n",
      "  (prefix_projection_layer): Sequential(\n",
      "    (0): Linear(in_features=768, out_features=768, bias=True)\n",
      "    (1): Tanh()\n",
      "    (2): Linear(in_features=768, out_features=18432, bias=True)\n",
      "  )\n",
      ")\n",
      "Total Parameters:\t 124.27M\n",
      "Frozen Parameters:\t 109.48M\n",
      "Trainable Parameters:\t  14.78M\t11.90%\n",
      "Total trainable parameters: None\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "38d19a35ce474fe58ac398edfbf14a81"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 0: train_loss 0.6936, train_acc 0.5101, val_loss 0.6813, val_acc 0.5103\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "61383dde108143e38e255e1b6870dbca"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 1: train_loss 0.4659, train_acc 0.7745, val_loss 0.3298, val_acc 0.8612\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "2725a5b3ef44469e9f473d414afbb1dd"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 2: train_loss 0.3143, train_acc 0.8685, val_loss 0.3043, val_acc 0.8761\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "fd8311d666974f77a2bef50327810d53"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 3: train_loss 0.2998, train_acc 0.8748, val_loss 0.3005, val_acc 0.8773\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/2105 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "3e07f93c25294dc6b3849b3a5aa8e06c"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "epoch 4: train_loss 0.2985, train_acc 0.8759, val_loss 0.3003, val_acc 0.8761\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "from transformers import AutoModel, AutoTokenizer\n",
    "\n",
    "class PTuningV2Bert(nn.Module):\n",
    "    def __init__(self, num_virtual_tokens=25, prefix_projection=True):\n",
    "        super().__init__()\n",
    "        # 加载预训练的BERT模型\n",
    "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
    "        # 添加一个线性分类层\n",
    "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
    "\n",
    "        # 冻结预训练模型的参数，只训练分类器层\n",
    "        for param in self.model.parameters():\n",
    "            param.requires_grad = False\n",
    "\n",
    "        # 前缀相关的参数\n",
    "        self.num_virtual_tokens = num_virtual_tokens\n",
    "        self.prefix_projection = prefix_projection\n",
    "        hidden_size = self.model.config.hidden_size\n",
    "        self.num_layers = self.model.config.num_hidden_layers\n",
    "        self.num_attention_heads = self.model.config.num_attention_heads\n",
    "        self.embed_size_per_head = hidden_size // self.num_attention_heads\n",
    "\n",
    "        # P-Tuning v2 的前缀嵌入\n",
    "        self.prefix_embeddings = nn.Embedding(self.num_virtual_tokens, hidden_size)\n",
    "        nn.init.uniform_(self.prefix_embeddings.weight, -0.1, 0.1)\n",
    "\n",
    "        if self.prefix_projection:\n",
    "            # 使用两层MLP来编码前缀token\n",
    "            self.prefix_projection_layer = nn.Sequential(\n",
    "                nn.Linear(hidden_size, hidden_size),\n",
    "                nn.Tanh(),\n",
    "                nn.Linear(hidden_size, self.num_layers * 2 * hidden_size)\n",
    "            )\n",
    "\n",
    "    def forward(self, input_ids, attention_mask, **args):\n",
    "        batch_size = input_ids.size(0)\n",
    "        prefix_tokens = torch.arange(self.num_virtual_tokens, device=input_ids.device).unsqueeze(0).expand(batch_size, -1)\n",
    "        prefix_embeddings = self.prefix_embeddings(prefix_tokens)\n",
    "\n",
    "        if self.prefix_projection:\n",
    "            past_key_values = self.prefix_projection_layer(prefix_embeddings)\n",
    "        else:\n",
    "            past_key_values = prefix_embeddings\n",
    "\n",
    "        # 改变形状以适配Transformer的输入格式\n",
    "        past_key_values = past_key_values.view(batch_size, self.num_layers, 2, self.num_attention_heads, -1, self.embed_size_per_head)\n",
    "        past_key_values = past_key_values.permute(2, 1, 0, 3, 4, 5)\n",
    "        past_key_values = tuple([tuple([past_key_values[0][i], past_key_values[1][i]]) for i in range(self.num_layers)])\n",
    "\n",
    "        # 修改注意力掩码，包含前缀token\n",
    "        extended_attention_mask = torch.cat([\n",
    "            torch.ones(batch_size, self.num_virtual_tokens).to(attention_mask.device),  # 前缀的注意力掩码\n",
    "            attention_mask\n",
    "        ], dim=1)\n",
    "\n",
    "        # 将数据输入到BERT模型中\n",
    "        outputs = self.model(input_ids, attention_mask=extended_attention_mask, past_key_values=past_key_values)\n",
    "\n",
    "        feature = outputs.last_hidden_state[:, 0, :]  # 获取[CLS] token的特征表示\n",
    "\n",
    "        # 使用分类层进行分类\n",
    "        logits = self.classifier(feature)\n",
    "\n",
    "        # 返回sigmoid激活后的logits\n",
    "        return torch.sigmoid(logits).squeeze()\n",
    "\n",
    "# 创建P-Tuning v2 BERT模型实例\n",
    "p_tuning_v2_bert = PTuningV2Bert()\n",
    "print(p_tuning_v2_bert)\n",
    "\n",
    "# # 计算模型参数数量\n",
    "# def count_parameters(model):\n",
    "#     return sum(p.numel() for p in model.parameters() if p.requires_grad)\n",
    "\n",
    "print(f'Total trainable parameters: {count_parameters(p_tuning_v2_bert)}')\n",
    "\n",
    "\n",
    "training_record[\"P-Tuning v2\"] = train(p_tuning_v2_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "eo9h_bmNRcz5"
   },
   "outputs": [],
   "source": [
    "plot_training_record(training_record, metric_name=\"val_acc\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "z1ychrhSvBqY"
   },
   "source": [
    "## LoRA\n",
    "\n",
    "LoRA（论文：LoRA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS），该方法的核心思想就是通过低秩分解来模拟参数的改变量，从而以极小的参数量来实现大模型的间接训练。\n",
    "\n",
    "在涉及到矩阵相乘的模块，在原始的PLM旁边增加一个新的通路，通过前后两个矩阵A,B相乘，第一个矩阵A负责降维，第二个矩阵B负责升维，中间层维度为r，从而来模拟所谓的本征秩（intrinsic rank）。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "B-Z4_wDLSqS2"
   },
   "source": [
    "rank的作用：\n",
    "rank代表低秩矩阵的秩，即线性变换矩阵A和B的输出特征数量。在LoRA中，原始的高维特征通过线性变换A被映射到一个低维空间（rank维），然后再通过另一个线性变换B映射回原始特征空间。较低的rank值意味着更少的参数需要更新，从而降低了模型复杂度和计算成本。\n",
    "\n",
    "lora_alpha的作用：\n",
    "lora_alpha是一个缩放因子，用于调整LoRA输出的贡献。它通过除以rank来计算得到scaling，这个缩放因子被用于控制低秩空间中的特征对最终输出的贡献度。较大的lora_alpha值会增加LoRA特征的影响力，而较小的值则会减少其影响。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "YLpMBQPDvBqY"
   },
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "from transformers import AutoModel\n",
    "# 其他必要的导入语句可能在这里，例如用于训练的优化器、损失函数等。\n",
    "\n",
    "# 定义LoRALayer类，它继承自PyTorch的nn.Module\n",
    "class LoRALayer(nn.Module):\n",
    "    # 初始化函数\n",
    "    def __init__(self, module: nn.Module, rank: int = 1, lora_alpha: int = 1):\n",
    "        # 调用父类的初始化函数\n",
    "        super().__init__()\n",
    "        # 确保输入的rank是正整数\n",
    "        assert isinstance(rank, int) and rank > 1, \"Lora rank should be a positive integer\"\n",
    "\n",
    "        # 计算缩放因子\n",
    "        self.scaling = lora_alpha / rank\n",
    "        # 存储传入的模块\n",
    "        self.module = module\n",
    "        # 定义从输入特征到rank维空间的线性变换A\n",
    "        self.A = nn.Linear(module.in_features, rank, bias=False)\n",
    "        # 定义从rank维空间到输出特征的线性变换B\n",
    "        self.B = nn.Linear(rank, module.out_features, bias=False)\n",
    "        # 使用Kaiming均匀初始化方法初始化A的权重,超参可选\n",
    "        nn.init.kaiming_uniform_(self.A.weight, a=5 ** 0.5)\n",
    "        # 将B的权重初始化为0，超参可选\n",
    "        nn.init.zeros_(self.B.weight)\n",
    "        # 将A和B移动到与模块权重相同的设备上\n",
    "        self.A.to(device=module.weight.device)\n",
    "        self.B.to(device=module.weight.device)\n",
    "\n",
    "    # 前向传播函数\n",
    "    def forward(self, inputs, *args, **kwargs):\n",
    "        # 首先通过原始模块进行前向传播\n",
    "        with torch.no_grad():  # 确保这个操作不会影响梯度计算\n",
    "            outputs = self.module(inputs, *args, **kwargs)\n",
    "        # 计算LoRA的输出并加到原始模块的输出上\n",
    "        return outputs + self.B(self.A(inputs)) * self.scaling\n",
    "\n",
    "# 定义LoRABert类，它也继承自PyTorch的nn.Module\n",
    "class LoRABert(nn.Module):\n",
    "    # 初始化函数\n",
    "    def __init__(self, rank=8, lora_alpha=32):\n",
    "        # 调用父类的初始化函数\n",
    "        super().__init__()\n",
    "        # 加载预训练的BERT模型\n",
    "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
    "        # 应用LoRA技术到BERT模型的查询投影和键投影\n",
    "        self._apply_lora(rank=rank, lora_alpha=lora_alpha)\n",
    "        # 定义一个线性分类器，用于最后的任务分类\n",
    "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
    "\n",
    "    # 应用LoRA到BERT模型的辅助函数,把self.model换掉了\n",
    "    def _apply_lora(self, rank, lora_alpha):\n",
    "        # 冻结预训练模型的参数\n",
    "        for param in self.model.parameters():\n",
    "            param.requires_grad = False\n",
    "        # 对BERT模型中的每一层应用LoRA，children()可以拿到每层的层对象,也可以换V和O，这就是超参\n",
    "        for layer in self.model.encoder.layer.children():\n",
    "            layer.attention.self.query = LoRALayer(layer.attention.self.query, rank=rank, lora_alpha=lora_alpha)\n",
    "            layer.attention.self.key = LoRALayer(layer.attention.self.key, rank=rank, lora_alpha=lora_alpha)\n",
    "\n",
    "    # 前向传播函数\n",
    "    def forward(self, input_ids, attention_mask, token_type_ids):\n",
    "        # 通过BERT模型进行前向传播\n",
    "        outputs = self.model(input_ids, attention_mask, token_type_ids)\n",
    "        # 提取[CLS]标记的表示作为特征\n",
    "        feature = outputs.last_hidden_state[:, 0, :]\n",
    "        # 使用分类器生成logits\n",
    "        logits = self.classifier(feature)\n",
    "        # 应用sigmoid激活函数得到最终的输出\n",
    "        return torch.sigmoid(logits).squeeze()\n",
    "\n",
    "# 实例化LoRABert模型\n",
    "lora_bert = LoRABert(lora_alpha=30)\n",
    "print(lora_bert)\n",
    "# 假设count_parameters是一个函数，用于计算并打印模型的参数数量\n",
    "count_parameters(lora_bert)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "jbzn6Do5C5Cj"
   },
   "outputs": [],
   "source": [
    "# 假设train是一个函数，用于训练模型\n",
    "# training_record是一个字典，用于记录不同模型的训练结果\n",
    "# train_loader和val_loader是数据加载器，device是指定的设备（CPU或GPU）\n",
    "# num_epochs是训练的轮数，patience是早停的耐心轮数\n",
    "training_record[\"LoRA\"] = train(lora_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "05gNoMgxvBqY"
   },
   "outputs": [],
   "source": [
    "del lora_bert"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "YZ_9dNmYnI6a"
   },
   "outputs": [],
   "source": [
    "plot_training_record(training_record, metric_name=\"val_acc\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "js9P3qilvBqY"
   },
   "source": [
    "## Adapter Tuning\n",
    "\n",
    "Adapter Tuning（论文：Parameter-Efficient Transfer Learning for NLP），该方法设计了Adapter结构，并将其嵌入Transformer的结构里面，针对每一个Transformer层，增加了两个Adapter结构(分别是多头注意力的投影之后和第二个feed-forward层之后)，在训练时，固定住原来预训练模型的参数不变，只对新增的 Adapter 结构和 Layer Norm 层进行微调，从而保证了训练的高效性。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "id": "t3mdIPWupBnF",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "b1d53d5d-7d37-46c3-85e9-64fe83f0b13c"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "BertConfig {\n",
      "  \"_attn_implementation_autoset\": true,\n",
      "  \"_name_or_path\": \"bert-base-uncased\",\n",
      "  \"architectures\": [\n",
      "    \"BertForMaskedLM\"\n",
      "  ],\n",
      "  \"attention_probs_dropout_prob\": 0.1,\n",
      "  \"classifier_dropout\": null,\n",
      "  \"gradient_checkpointing\": false,\n",
      "  \"hidden_act\": \"gelu\",\n",
      "  \"hidden_dropout_prob\": 0.1,\n",
      "  \"hidden_size\": 768,\n",
      "  \"initializer_range\": 0.02,\n",
      "  \"intermediate_size\": 3072,\n",
      "  \"layer_norm_eps\": 1e-12,\n",
      "  \"max_position_embeddings\": 512,\n",
      "  \"model_type\": \"bert\",\n",
      "  \"num_attention_heads\": 12,\n",
      "  \"num_hidden_layers\": 12,\n",
      "  \"pad_token_id\": 0,\n",
      "  \"position_embedding_type\": \"absolute\",\n",
      "  \"transformers_version\": \"4.48.3\",\n",
      "  \"type_vocab_size\": 2,\n",
      "  \"use_cache\": true,\n",
      "  \"vocab_size\": 30522\n",
      "}\n",
      "\n",
      "--------------------------------------------------\n",
      "AdapterBert(\n",
      "  (model): BertModel(\n",
      "    (embeddings): BertEmbeddings(\n",
      "      (word_embeddings): Embedding(30522, 768, padding_idx=0)\n",
      "      (position_embeddings): Embedding(512, 768)\n",
      "      (token_type_embeddings): Embedding(2, 768)\n",
      "      (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "      (dropout): Dropout(p=0.1, inplace=False)\n",
      "    )\n",
      "    (encoder): BertEncoder(\n",
      "      (layer): ModuleList(\n",
      "        (0-11): 12 x BertLayer(\n",
      "          (attention): BertAttention(\n",
      "            (self): BertSdpaSelfAttention(\n",
      "              (query): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (key): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (value): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "            )\n",
      "            (output): BertSelfOutput(\n",
      "              (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "              (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "              (dropout): Dropout(p=0.1, inplace=False)\n",
      "              (adapter): AdapterLayer(\n",
      "                (down_project): Linear(in_features=768, out_features=64, bias=True)\n",
      "                (nolinearity): ReLU()\n",
      "                (up_project): Linear(in_features=64, out_features=768, bias=True)\n",
      "              )\n",
      "            )\n",
      "          )\n",
      "          (intermediate): BertIntermediate(\n",
      "            (dense): Linear(in_features=768, out_features=3072, bias=True)\n",
      "            (intermediate_act_fn): GELUActivation()\n",
      "          )\n",
      "          (output): BertOutput(\n",
      "            (dense): Linear(in_features=3072, out_features=768, bias=True)\n",
      "            (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)\n",
      "            (dropout): Dropout(p=0.1, inplace=False)\n",
      "            (adapter): AdapterLayer(\n",
      "              (down_project): Linear(in_features=768, out_features=64, bias=True)\n",
      "              (nolinearity): ReLU()\n",
      "              (up_project): Linear(in_features=64, out_features=768, bias=True)\n",
      "            )\n",
      "          )\n",
      "        )\n",
      "      )\n",
      "    )\n",
      "    (pooler): BertPooler(\n",
      "      (dense): Linear(in_features=768, out_features=768, bias=True)\n",
      "      (activation): Tanh()\n",
      "    )\n",
      "  )\n",
      "  (classifier): Linear(in_features=768, out_features=1, bias=True)\n",
      ")\n",
      "--------------------------------------------------\n",
      "Total Parameters:\t 111.86M\n",
      "Frozen Parameters:\t 109.48M\n",
      "Trainable Parameters:\t   2.38M\t2.13%\n"
     ]
    }
   ],
   "source": [
    "class AdapterLayer(nn.Module):\n",
    "    def __init__(self, input_size, adapter_size):\n",
    "        super().__init__()\n",
    "        # 第一个线性层，将输入特征从 input_size 维度降低到 adapter_size 维度\n",
    "        self.down_project = nn.Linear(input_size, adapter_size)\n",
    "        # ReLU 激活函数\n",
    "        self.nolinearity = nn.ReLU()\n",
    "        # 第二个线性层，将适配器层的特征从 adapter_size 维度恢复到原始维度\n",
    "        self.up_project = nn.Linear(adapter_size, input_size)\n",
    "\n",
    "    def forward(self, x):\n",
    "        # 适配器层的前向传播\n",
    "        return self.up_project(self.nolinearity(self.down_project(x)))\n",
    "\n",
    "\n",
    "class BertSelfOutput(nn.Module):\n",
    "    # 自注意力层的输出部分\n",
    "    def __init__(self, config, adapter_size):\n",
    "        super().__init__()\n",
    "        # 原始的全连接层\n",
    "        self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n",
    "        # 原始的LayerNorm 层\n",
    "        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n",
    "        # 原始的 Dropout 层\n",
    "        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n",
    "        # 插入的适配器层\n",
    "        self.adapter = AdapterLayer(config.hidden_size, adapter_size)\n",
    "\n",
    "    def forward(self, hidden_states: torch.Tensor, input_tensor: torch.Tensor) -> torch.Tensor:\n",
    "        # 自注意力层的输出前向传播\n",
    "        hidden_states = self.dense(hidden_states)\n",
    "        hidden_states = self.dropout(hidden_states)\n",
    "        hidden_states = self.adapter(hidden_states) #把自己写的adapter给串进去\n",
    "        hidden_states = self.LayerNorm(hidden_states + input_tensor) #加号代表残差连接\n",
    "        return hidden_states\n",
    "\n",
    "class BertOutput(nn.Module):\n",
    "    # 输出层\n",
    "    def __init__(self, config, adapter_size):\n",
    "        super().__init__()\n",
    "        # 原始的全连接层\n",
    "        # print(config.intermediate_size) #3072\n",
    "        self.dense = nn.Linear(config.intermediate_size, config.hidden_size)\n",
    "        # LayerNorm 层\n",
    "        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n",
    "        # Dropout 层\n",
    "        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n",
    "        # 插入的适配器层\n",
    "        self.adapter = AdapterLayer(config.hidden_size, adapter_size)\n",
    "\n",
    "    def forward(self, hidden_states: torch.Tensor, input_tensor: torch.Tensor) -> torch.Tensor:\n",
    "        # 输出层的前向传播\n",
    "        hidden_states = self.dense(hidden_states)\n",
    "        hidden_states = self.dropout(hidden_states)\n",
    "        hidden_states = self.adapter(hidden_states) #把adapter放入原有的层中间\n",
    "        hidden_states = self.LayerNorm(hidden_states + input_tensor)\n",
    "        return hidden_states\n",
    "\n",
    "\n",
    "class AdapterBert(nn.Module):\n",
    "    def __init__(self, adapter_size=64):\n",
    "        super().__init__()\n",
    "        # 加载预训练的BERT模型\n",
    "        self.model = AutoModel.from_pretrained(\"bert-base-uncased\")\n",
    "        # 获取预训练模型的状态字典，为什么要提前保存，是因为原有的层被覆盖的问题\n",
    "        pretrained_state_dict = self.model.state_dict()\n",
    "        print(self.model.config)\n",
    "        # 添加一个线性分类器\n",
    "        self.classifier = nn.Linear(self.model.config.hidden_size, 1)\n",
    "\n",
    "        # 为模型的每层应用适配器，把模型对应的BertSelfOutput和BertOutput覆盖\n",
    "        self._apply_adapter(adapter_size=adapter_size)\n",
    "\n",
    "        # 修改预训练状态字典，将适配器层的参数加入\n",
    "        for name, param in self.model.named_parameters():\n",
    "            if \"adapter\" in name:\n",
    "                pretrained_state_dict[name] = param\n",
    "        # 加载修改后的状态字典\n",
    "        self.model.load_state_dict(pretrained_state_dict)\n",
    "\n",
    "        # 冻结除适配器层以外的所有参数\n",
    "        for name, param in self.model.named_parameters():\n",
    "            if \"adapter\" not in name:\n",
    "                param.requires_grad = False\n",
    "\n",
    "        # 删除不再使用的预训练状态字典\n",
    "        del pretrained_state_dict\n",
    "\n",
    "    def _apply_adapter(self, adapter_size):\n",
    "        # 为BERT模型的每层应用适配器层\n",
    "        for layer in self.model.encoder.layer:\n",
    "            layer.attention.output = BertSelfOutput(self.model.config, adapter_size) #BertSelfOutput输出层重写,名字是完全对应的\n",
    "            layer.output = BertOutput(self.model.config, adapter_size) #BertOutput层重写，名字是完全对应的\n",
    "\n",
    "    def forward(self, input_ids, attention_mask, token_type_ids):\n",
    "        # 模型的前向传播\n",
    "        outputs = self.model(input_ids, attention_mask, token_type_ids)\n",
    "        # 提取[CLS]标记的表示作为特征\n",
    "        feature = outputs.last_hidden_state[:, 0, :]\n",
    "        # 使用分类器生成logits\n",
    "        logits = self.classifier(feature)\n",
    "        # 应用sigmoid激活函数得到最终的输出\n",
    "        return torch.sigmoid(logits).squeeze()\n",
    "\n",
    "\n",
    "# 实例化适配器BERT模型\n",
    "adapter_bert = AdapterBert(adapter_size=64)\n",
    "print('-'*50)\n",
    "print(adapter_bert)\n",
    "print('-'*50)\n",
    "# 计算模型参数\n",
    "count_parameters(adapter_bert)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "dyvfwOvUG0y7"
   },
   "outputs": [],
   "source": [
    "# 训练模型\n",
    "training_record[\"Adapter Tuning\"] = train(adapter_bert, train_loader, val_loader, device, num_epochs=num_epochs, patience=patience)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "x1AfyWLDvBqZ"
   },
   "outputs": [],
   "source": [
    "del adapter_bert"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "6c71hairvBqZ"
   },
   "source": [
    "## Plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "id": "1h8Jp1RovBqZ",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 449
    },
    "outputId": "1cb1a7b1-4369-4da1-9686-90640c415f4b"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+kAAAINCAYAAABCnz5fAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA7apJREFUeJzs3Xd4Y+Wd//33UZdcx/b07ul9YCplhg5hCC0QOgNDAkmuH5s8P5InV7K/ZBOS3c3+rn2WkE2yIRBKaIFQQ8JAIAPDDHUKw/Tu6d29SVY55/lDtizZcpuRLdn+vHI5ko6OzvlKZ2z0Ofd97tuwLMtCRERERERERNLOlu4CRERERERERCRKIV1EREREREQkQyiki4iIiIiIiGQIhXQRERERERGRDKGQLiIiIiIiIpIhFNJFREREREREMoRCuoiIiIiIiEiGUEgXERERERERyRCOdBfQ00zT5OjRo+Tk5GAYRrrLERERERERkT7OsixqamoYNmwYNlv7beX9LqQfPXqUkSNHprsMERERERER6WcOHTrEiBEj2l2n34X0nJwcIPrh5Obmprma9oVCId555x0uv/xynE5nusuRJHSMegcdp95Bxynz6Rj1DjpOvYOOU+bTMeodestxqq6uZuTIkbE82p5+F9Kburjn5ub2ipDu8/nIzc3N6H9w/ZmOUe+g49Q76DhlPh2j3kHHqXfQccp8Oka9Q287Tp255FoDx4mIiIiIiIhkCIV0ERERERERkQyhkC4iIiIiIiKSIRTSRURERERERDKEQrqIiIiIiIhIhlBIFxEREREREckQCukiIiIiIiIiGUIhXURERERERCRDKKSLiIiIiIiIZAiFdBEREREREZEMoZAuIiIiIiIikiEU0kVEREREREQyhEK6iIiIiIiISIZQSBcRERERERHJEArpIiIiIiIiIhlCIV1EREREREQkQzjSXYCIiIh0I8sCy4RICMxw408EzJaPw3HrROKea15mBAMMrVyHsdsOLi/YnWB3RW9tcfebltucLdaxp/vTEBERyXgK6SIi0r+YZgcBNT6khjoZYuMfhyESTnzc6idyhqE57nEkyf5b/qSIA5gPsO80N2DYkof5hJDvaLx1gc3RcfBv6wRBh9uMW55sm/HLDSNln6GIiEhHFNJFRPozy0ptQO1MYGwjxNrCQWYd3If9b38HkrX8nu7+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/BEdD0B5D2dGd6zJY62q4erkYOMIRURERIpXz549mT9/fpZlPj4+NoomU1RUFN7e3tb3np6euLm54eaW/W/wwrJz504yMjInDN6yZQt9+vTJEkdhHLt8+ZIzAbHupIvd2/LtUZIT0ihf2YMm3apmW5+WnEzk53MBuOv+hylbya+4Q5S/sfnoZR6cuYURn//KH9HxeLk48o9utdk4sRPD29dQgi4iIiKlkouLC35+flleDg4OhIeH07t37yxtn376aTp27Jiv/Q4dOpR77703y7K0tDR8fX2ZO3duntv6+vpmicfT0zPbcPcpU6bQpEkTvvjiC4KCgihTpgz9+/cnPj7e2sZisfD2229TvXp13NzcaNy4MUuXLs3xmD4+Ptbj3Uymb8bx888/U61atSztv/vuuywja//5z3/SrFmzPOPJ6fGAt956i6FDh+Ll5UXVqlX55JNPshxny5YtNGnSBFdXV0JDQ63H3bt3b54/w9ulO+li184fucahzReAnGuiA2z/7ivir1zC26cSLXo/XNwhSh52nbrGuyuj2Hr8CgCuTmaGtK3Okx1qUNbd2cbRiYiIyB3JMCAt6fb3Y7Fk7ifVAcz5vLfp5A52MKfO8OHD6dChAxcuXMDf3x+A5cuXk5SURL9+/QrlGMeOHeO7775j+fLlXLt2jb59+/LPf/6TN998E4C3336bBQsWMHv2bGrVqsXGjRt57LHH8PHxISwsrFBiKEg8OZk2bRpTp07lhRdeYOnSpYwaNYqwsDBCQkKIi4vjvvvuo1evXixatIhTp04V2zPtStLFbmWkW4hcmFkTvV77yvjXzF4T/dqFc/z6n28A6Dh4OE7OLsUao+Ts9/NxTFsVxdo/YgBwcjAxsGU1Rneqia+Xq42jExERkTtaWhK8Vfm2d2MGyhZ0oxfOg7NHvpsvX74cT09P6/u7776br7/+uqBHzaZNmzaEhITwxRdfMHHiRADmz5/PI488kuV4OalSpUqW96dOncqxncViISIiAi8vLwAef/xx1q5dy5tvvklKSgpvvfUWa9asoXXr1gDUqFGDX375hTlz5hRJkp5XPLnp1asXo0ePBmDSpElMnz6d9evXExISwqJFizCZTPz73//G1dWVevXqce7cOUaMGFHosf+VknSxW3tWneZadBJuXk607l0z23rDMFgf8QkZ6ekENW5GcGgrG0Qp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adOmWZYNGzaMFStW8Nxzz9G4cWPKly/PsGHDeOmll/Lcl6OjI2PGjOH//u//iIqKol69etSpUydbuwcffJAxY8awYsUK7r///kI9H7l9StJLqOijhzmwbhUAnYeOxOygyeJEREREREqSiIgIIiIicl2/Y8eOPLfNyeTJk5k8eXKex/Xz8yMjIyM/IYoNaLh7CWRYLJmTxRkG9dp3okqd+rYOSURERERERAqBkvQS6MD61UQfO4KzmxvtBw6xdTgiIiIiIiJSSJSklzA3EuLZ9OVnALR5ZCCe5crbOCIREREREREpLErSS5gtXy0gOT6OClWq0qTHvbYOR0RERERERAqRkvQSJObkcfat+gmAzkNG4uCoef9ERERERETuJErSSwjDMFg7dxaGYSGkdXuqNmhk65BERERERESkkClJLyF+37iO84cP4eTiStjjw2wdjoiIiIiIiBQBJeklQEpSIhsXzgegVZ/+eFWoaOOIREREREREpCgoSS8Btn+zhKTY65TzD6BZrwdsHY6IiIiIiIgUESXpdi7l+lX2rfoRgM7hT+Do5GTjiERERERExFamTJlCkyZNbB2GXTl9+jQODg7s3bvX1qEUCiXpdswwDC7/ugXDYiH4rtYENWlu65BERERERKQQbd26FQcHB+655x6bxXDy5ElMJlORJLmRkZGYTKY8X5GRkbd1jICAAM6dO0eDBg0KJ2gbUw0vO3Zk2y/ciLmAg5MzHQcNt3U4IiIiIiJSyObOncvYsWOZO3cu58+fp3LlyrYO6bakpaXh9KfRv23atOHChQvW9+PHjycuLo758+dbl5UvX/62jung4ICfnx9m851xD/rOOIs7UGryDTYtigDgrvv7UMa3km0DEhEREREpAQzDIDU1tVBeaWlpBWpvGEaBYk1ISGDJkiWMGjWKe+65h4iIiGxt/vnPf1KpUiW8vLwYNmwYycnJWdbv3LmTbt26UbFiRcqUKUNYWBi7d+/O0sZkMjFr1izuvvtu3NzcqFGjBkuXLrWur169OgBNmzbFZDLRsWNH67pPP/2UunXr4urqSp06dZg5c6Z13c078EuWLCEsLAxXV1cWLlyY5djOzs74+flZX25ubri4uFjf9+/fn4kTJ2bZpnfv3oSHh1vfBwUF8dZbbzF06FC8vLyoWrUqn3zyiXX9X4e737x7v3btWkJDQ3F3d6dNmzZERUVlOc4bb7yBr68vXl5eDB8+nMmTJ9vFowS6k26ntn2zhMRrV3H09KLZPb1tHY6IiIiISImQlpbGW2+9ZZNjv/DCCzg7O+e7/VdffUWdOnUICQnhscce4+mnn+b555/HZDJZ10+ZMoWPP/6Ydu3a8cUXX/Dhhx9So0YN6z7i4+MZPHgwM2bMwDAMpk2bRq9evThy5AheXl7Wdi+//DL//Oc/+eCDD/jiiy/o378/Bw4coG7duuzYsYMWLVqwZs0a6tevbz2HhQsX8sorr/DRRx/RtGlT9uzZw4gRI/Dw8GDw4MHWfU+ePJlp06bRtGlTXF1db/fHmKNp06YxdepUXnjhBZYuXcqoUaMICwujVq1auW7z4osvMm3aNHx8fBg5ciRDhw5l8+bN1nN78803mTlzJm3btmXx4sVMmzbN+oWFLSlJt1OVa9fF28cXj7pNcCzAhS4iIiIiIiXD3LlzeeyxxwDo2bMnsbGxbNiwwXon+/3332fYsGEMGzYMyLzzu2bNmix30zt37pxln5988glly5Zlw4YN3HvvvdbljzzyCMOHZz5CO3XqVFavXs2MGTOYOXMmPj4+AFSoUAE/Pz/rNq+++irTpk3joYceAjLvuP/+++/MmTMnS5L+9NNPW9sUlV69ejF69GgAJk2axPTp01m/fn2eSfqbb75JWFgYkPlFwj333ENycjKurq7MmDGDYcOGMWTIEABeeeUVVq1aRUJCQpGeR34oSbdTwaEtCajXkFWrV9s6FBERERGREsPJyYkXXnjhtvdjsViIj4/Hy8sr3886OxWgElNUVBQ7duzg22+/BcDR0ZF+/foxd+5ca5J+6NAhRo4cmWW71q1bs379euv7ixcv8tJLLxEZGUlMTAwZGRkkJSVx+vTpbNv99X1eE8UlJiZy7Ngxhg0bxogRI6zL09PTKVOmTJa2oaGh+T7vW9WoUSPrv00mE35+fsTExOR7G39/fwBiYmKoWrUqUVFR1qT/phYtWrBu3bpCjPrWKEm3Yyq3JiIiIiJSMCaTqUBDznNjsVhwcnLC2dm5SCYkmzt3Lunp6VkmijMMAxcXFz766KNsiXBuBg8ezJUrV/jggw+oVq0aLi4utG7dmtTU1NuK7+Yd5X//+9+0bNkyyzoHB4cs7z08PG75OGazOduz/Glpadna/fULEJPJhMViyXPff97m5iMEf7eNPdDEcSIiIiIiIsUoPT2dzz//nGnTprF3717ra9++fVSuXJkvv/wSgLp167J9+/Ys227bti3L+82bNzNu3Dh69epF/fr1cXFx4fLly9mO+dfttm3bRt26dQGsX2pkZGRY11eqVInKlStz/PhxgoODs7wK87ltHx+fLLO/Z2RkcPDgwULbf25CQkLYuXNnlmV/fW8rupMuIiIiIiJSjJYvX861a9cYNmxYtjvmffr0Ye7cuYwcOZLx48cTHh5OaGgobdu2ZeHChfz2229ZJo6rVasWX3zxBaGhocTFxfHcc8/h5uaW7Zhff/01oaGhtGvXjoULF7Jjxw7mzp0LgK+vL25ubvz8889UqVIFV1dXypQpw2uvvca4ceMoU6YMPXv2JCUlhV9//ZVr164xYcKEQvlZdO7cmQkTJvDjjz9Ss2ZN3nvvPa5fv14o+87L2LFjGTFiBKGhobRp04YlS5awf//+LD9bW9GddBERERERkWI0d+5cunbtmuOQ9j59+vDrr7+yf/9++vXrx8svv8zEiRNp3rw5p06dYtSoUdn2de3aNZo1a8bjjz/OuHHj8PX1zbbf1157jcWLF9OoUSM+//xzvvzyS+rVqwdkPg//4YcfMmfOHCpXrswDDzwAwPDhw/n000+ZP38+DRs2JCwsjIiIiEK9kz506FAGDx7MoEGDCAsLo0aNGnTq1KnQ9p+bgQMH8vzzz/Pss8/SrFkzTpw4QXh4eJHNTl8QJqOgxfyKwMcff8w777xDdHQ0jRs3ZsaMGbRo0SLHthEREdYZ+G5ycXHJVi8wN3FxcZQpU4bY2Fi8vb1vO/ailJaWxooVK+jVq1eBJqGQ4qM+KhnUTyWD+sn+qY9KBvVTyaB+KjzJycmcOHGC6tWrF2qCZbFYiIuLw9vbu0ieSS9OJpOJb7/9lt69e9s6lEJXmP3UrVs3/Pz8+OKLL25p+7x+FwuSh9p8uPuSJUuYMGECs2fPpmXLlrz//vv06NGDqKioHL8BAvD29s5SiP7mJAAiIiIiIiIifycpKYnZs2fTo0cPHBwc+PLLL1mzZg2r7aC6ls2/EnrvvfcYMWIEQ4YMoV69esyePRt3d3fmzZuX6zY3p9y/+apUqVIxRiwiIiIiIiIlmclkYsWKFXTo0IHmzZvzn//8h2XLltG1a1dbh2bbO+mpqans2rWL559/3rrMbDbTtWtXtm7dmut2CQkJVKtWDYvFQrNmzXjrrbeoX79+jm1TUlJISUmxvo+LiwMyhxjlNLW/PbkZn73HWZqpj0oG9VPJoH6yf+qjkkH9VDKonwpPWloahmFgsVgKtbzWzaeCb+67JLs5a3tJP4+c3Go/ubi4sGrVqmzLb+dnZLFYMAyDtLS0bGXqCnKt2/SZ9PPnzxMQEMCWLVto3bq1dfnEiRPZsGFDtnIDAFu3buXIkSM0atSI2NhY3n33XTZu3Mhvv/1GlSpVsrWfMmUKr732WrblixYtwt3dvXBPSEREREREipWjoyN+fn4EBgYWSn10kVuVmprKmTNniI6OJj09Pcu6pKQkBgwYUDKeSS+o1q1bZ0no27RpQ926dZkzZw5Tp07N1v7555/PUh4gLi6OwMBAunfvXiImjlu9ejXdunXThCJ2Sn1UMqifSgb1k/1TH5UM6qeSQf1UeFJSUjh9+jQeHh45lh67VYZhEB8fj5eXl+bAsmP21E83btzAzc2NsLAwXFxcsqy7OaI7P2yapFesWBEHBwcuXryYZfnFixfx8/PL1z6cnJxo2rQpR48ezXG9i4tLth/Qze1Kyn+IJSnW0kp9VDKon0oG9ZP9Ux+VDOqnkkH9dPvMZjMmk4nk5GQ8PDwKbb83hz2bTKYSP7v7ncye+ik9PR2TyYSLi0u267og17lNk3RnZ2eaN2/O2rVrreUALBYLa9euZcyYMfnaR0ZGBgcOHKBXr15FGKmIiIiIiNgjBwcHypYtS0xMDADu7u6FckfVYrGQmppKcnKyzZM/yZ299JPFYuHSpUu4u7vj6Hh7abbNh7tPmDCBwYMHExoaSosWLXj//fdJTEy01kIfNGgQAQEBvP322wC8/vrrtGrViuDgYK5fv84777zDqVOnGD58uC1PQ0REREREbOTmKNybiXphMAzDOnzZ1sOoJXf21E9ms5mqVavedhw2T9L79evHpUuXeOWVV4iOjqZJkyb8/PPP1rJqp0+fzvKNyLVr1xgxYgTR0dGUK1eO5s2bs2XLFurVq2erUxARERERERsymUz4+/vj6+tbaDPmp6WlsXHjRjp06KBHEuyYPfWTs7NzodzNt3mSDjBmzJhch7dHRkZmeT99+nSmT59eDFGJiIiIiEhJ4uDgkK301e3sKz09HVdXV5snf5K7O7Gf9HCFiIiIiIiIiJ1Qki4iIiIiIiJiJ5Ski4iIiIiIiNgJu3gmvTgZhgEUrJi8raSlpZGUlERcXNwd83zFnUZ9VDKon0oG9ZP9Ux+VDOqnkkH9ZP/URyVDSemnm/nnzXw0L6UuSY+PjwcgMDDQxpGIiIiIiIhIaRIfH0+ZMmXybGMy8pPK30EsFgvnz5/Hy8vL5nX0/k5cXByBgYGcOXMGb29vW4cjOVAflQzqp5JB/WT/1Eclg/qpZFA/2T/1UclQUvrJMAzi4+OpXLny35ZpK3V30s1mM1WqVLF1GAXi7e1t179woj4qKdRPJYP6yf6pj0oG9VPJoH6yf+qjkqEk9NPf3UG/SRPHiYiIiIiIiNgJJekiIiIiIiIidkJJuh1zcXHh1VdfxcXFxdahSC7URyWD+qlkUD/ZP/VRyaB+KhnUT/ZPfVQy3In9VOomjhMRERERERGxV7qTLiIiIiIiImInlKSLiIiIiIiI2Akl6SIiIiIiIiJ2Qkm6iIiIiIiIiJ1Qkm5DH3/8MUFBQbi6utKyZUt27NiRZ/uvv/6aOnXq4OrqSsOGDVmxYkUxRVq6FaSfIiIiMJlMWV6urq7FGG3ps3HjRu677z4qV66MyWTiu++++9ttIiMjadasGS4uLgQHBxMREVHkcZZ2Be2nyMjIbNeSyWQiOjq6eAIuhd5++23uuusuvLy88PX1pXfv3kRFRf3tdvpsKl630k/6bCp+s2bNolGjRnh7e+Pt7U3r1q356aef8txG11LxKmgf6TqyD//85z8xmUw8/fTTebYr6deTknQbWbJkCRMmTODVV19l9+7dNG7cmB49ehATE5Nj+y1btvDoo48ybNgw9uzZQ+/evenduzcHDx4s5shLl4L2E4C3tzcXLlywvk6dOlWMEZc+iYmJNG7cmI8//jhf7U+cOME999xDp06d2Lt3L08//TTDhw9n5cqVRRxp6VbQfropKioqy/Xk6+tbRBHKhg0beOqpp9i2bRurV68mLS2N7t27k5iYmOs2+mwqfrfST6DPpuJWpUoV/vnPf7Jr1y5+/fVXOnfuzAMPPMBvv/2WY3tdS8WvoH0Euo5sbefOncyZM4dGjRrl2e6OuJ4MsYkWLVoYTz31lPV9RkaGUblyZePtt9/OsX3fvn2Ne+65J8uyli1bGk8++WSRxlnaFbSf5s+fb5QpU6aYopO/Aoxvv/02zzYTJ0406tevn2VZv379jB49ehRhZPJn+emn9evXG4Bx7dq1YolJsouJiTEAY8OGDbm20WeT7eWnn/TZZB/KlStnfPrppzmu07VkH/LqI11HthUfH2/UqlXLWL16tREWFmaMHz8+17Z3wvWkO+k2kJqayq5du+jatat1mdlspmvXrmzdujXHbbZu3ZqlPUCPHj1ybS+371b6CSAhIYFq1aoRGBj4t9/ISvHTtVSyNGnSBH9/f7p168bmzZttHU6pEhsbC0D58uVzbaPryfby00+gzyZbysjIYPHixSQmJtK6desc2+hasq389BHoOrKlp556invuuSfbdZKTO+F6UpJuA5cvXyYjI4NKlSplWV6pUqVcn7eMjo4uUHu5fbfSTyEhIcybN4/vv/+eBQsWYLFYaNOmDWfPni2OkCUfcruW4uLiuHHjho2ikr/y9/dn9uzZLFu2jGXLlhEYGEjHjh3ZvXu3rUMrFSwWC08//TRt27alQYMGubbTZ5Nt5bef9NlkGwcOHMDT0xMXFxdGjhzJt99+S7169XJsq2vJNgrSR7qObGfx4sXs3r2bt99+O1/t74TrydHWAYjcSVq3bp3lG9g2bdpQt25d5syZw9SpU20YmUjJEhISQkhIiPV9mzZtOHbsGNOnT+eLL76wYWSlw1NPPcXBgwf55ZdfbB2K5CG//aTPJtsICQlh7969xMbGsnTpUgYPHsyGDRtyTQKl+BWkj3Qd2caZM2cYP348q1evLlUT9SlJt4GKFSvi4ODAxYsXsyy/ePEifn5+OW7j5+dXoPZy+26ln/7KycmJpk2bcvTo0aIIUW5BbteSt7c3bm5uNopK8qNFixZKGovBmDFjWL58ORs3bqRKlSp5ttVnk+0UpJ/+Sp9NxcPZ2Zng4GAAmjdvzs6dO/nggw+YM2dOtra6lmyjIH30V7qOiseuXbuIiYmhWbNm1mUZGRls3LiRjz76iJSUFBwcHLJscydcTxrubgPOzs40b96ctWvXWpdZLBbWrl2b63MwrVu3ztIeYPXq1Xk+NyO351b66a8yMjI4cOAA/v7+RRWmFJCupZJr7969upaKkGEYjBkzhm+//ZZ169ZRvXr1v91G11Pxu5V++it9NtmGxWIhJSUlx3W6luxDXn30V7qOikeXLl04cOAAe/futb5CQ0MZOHAge/fuzZagwx1yPdl65rrSavHixYaLi4sRERFh/P7778YTTzxhlC1b1oiOjjYMwzAef/xxY/Lkydb2mzdvNhwdHY13333XOHTokPHqq68aTk5OxoEDB2x1CqVCQfvptddeM1auXGkcO3bM2LVrl9G/f3/D1dXV+O2332x1Cne8+Ph4Y8+ePcaePXsMwHjvvfeMPXv2GKdOnTIMwzAmT55sPP7449b2x48fN9zd3Y3nnnvOOHTokPHxxx8bDg4Oxs8//2yrUygVCtpP06dPN7777jvjyJEjxoEDB4zx48cbZrPZWLNmja1O4Y43atQoo0yZMkZkZKRx4cIF6yspKcnaRp9Ntncr/aTPpuI3efJkY8OGDcaJEyeM/fv3G5MnTzZMJpOxatUqwzB0LdmDgvaRriP78dfZ3e/E60lJug3NmDHDqFq1quHs7Gy0aNHC2LZtm3VdWFiYMXjw4Cztv/rqK6N27dqGs7OzUb9+fePHH38s5ohLp4L009NPP21tW6lSJaNXr17G7t27bRB16XGzVNdfXzf7ZfDgwUZYWFi2bZo0aWI4OzsbNWrUMObPn1/scZc2Be2nf/3rX0bNmjUNV1dXo3z58kbHjh2NdevW2Sb4UiKn/gGyXB/6bLK9W+knfTYVv6FDhxrVqlUznJ2dDR8fH6NLly7W5M8wdC3Zg4L2ka4j+/HXJP1OvJ5MhmEYxXffXkRERERERERyo2fSRUREREREROyEknQRERERERERO6EkXURERERERMROKEkXERERERERsRNK0kVERERERETshJJ0ERERERERETuhJF1ERERERETETihJFxERkSJlMpn47rvvbB2GiIhIiaAkXURE5A4WHh6OyWTK9urZs6etQxMREZEcONo6ABERESlaPXv2ZP78+VmWubi42CgaERERyYvupIuIiNzhXFxc8PPzy/IqV64ckDkUfdasWdx99924ublRo0YNli5dmmX7AwcO0LlzZ9zc3KhQoQJPPPEECQkJWdrMmzeP+vXr4+Ligr+/P2PGjMmy/vLlyzz44IO4u7tTq1Ytfvjhh6I9aRERkRJKSbqIiEgp9/LLL9OnTx/27dvHwIED6d+/P4cOHQIgMTGRHj16UK5cOXbu3MnXX3/NmjVrsiThs2bN4qmnnuKJJ57gwIED/PDDDwQHB2c5xmuvvUbfvn3Zv38/vXr1YuDAgVy9erVYz1NERKQkMBmGYdg6CBERESka4eHhLFiwAFdX1yzLX3jhBV544QVMJhMjR45k1qxZ1nWtWrWiWbNmzJw5k3//+99MmjSJM2fO4OHhAcCKFSu47777OH/+PJUqVSIgIIAhQ4bwxhtv5BiDyWTipZdeYurUqUBm4u/p6clPP/2kZ+NFRET+Qs+ki4iI3OE6deqUJQkHKF++vPXfrVu3zrKudevW7N27F4BDhw7RuHFja4IO0LZtWywWC1FRUZhMJs6fP0+XLl3yjKFRo0bWf3t4eODt7U1MTMytnpKIiMgdS0m6iIjIHc7DwyPb8PPC4ubmlq92Tk5OWd6bTCYsFktRhCQiIlKi6Zl0ERGRUm7btm3Z3tetWxeAunXrsm/fPhITE63rN2/ejNlsJiQkBC8vL4KCgli7dm2xxiwiInKn0p10ERGRO1xKSgrR0dFZljk6OlKxYkUAvv76a0JDQ2nXrh0LFy5kx44dzJ07F4CBAwfy6quvMnjwYKZMmcKlS5cYO3Ysjz/+OJUqVQJgypQpjBw5El9fX+6++27i4+PZvHkzY8eOLd4TFRERuQMoSRcREbnD/fzzz/j7+2dZFhISwh9//AFkzry+ePFiRo8ejb+/P19++SX16tUDwN3dnZUrVzJ+/Hjuuusu3N3d6dOnD++99551X4MHDyY5OZnp06fz7LPPUrFiRR5++OHiO0EREZE7iGZ3FxERKcVMJhPffvstvXv3tnUoIiIigp5JFxEREREREbEbStJFRERERERE7ISeSRcRESnF9NSbiIiIfdGddBERERERERE7oSRdRERERERExE4oSRcRERERERGxE0rSRUREREREROyEknQRERERERERO6EkXURERERERMROKEkXERERERERsRNK0kVERERERETshJJ0ERERERERETvx/6T9ax5RIknjAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": "plot_training_record(training_record, metric_name=\"val_acc\")"
  }
 ],
 "metadata": {
  "accelerator": "GPU",
  "colab": {
   "gpuType": "T4",
   "machine_shape": "hm",
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "41f4ceb146a048c18209924db64ec21c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_bde773a67d664fab9099304bf99a2bb5",
       "IPY_MODEL_9b26bb4973aa4804b2a076d493911e3c",
       "IPY_MODEL_a6d56826c1574c2fba282b25a634683d"
      ],
      "layout": "IPY_MODEL_d17ec35376a74e2984b3bf56776f3e88"
     }
    },
    "bde773a67d664fab9099304bf99a2bb5": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_c2091c0e8cfb410b8ee73b8d93778829",
      "placeholder": "​",
      "style": "IPY_MODEL_facdd07946854ef8bb587080fa17c4b0",
      "value": "model.safetensors: 100%"
     }
    },
    "9b26bb4973aa4804b2a076d493911e3c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_338a68b7cbc64cf685e1775260ef519f",
      "max": 440449768,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_10879a0da7004026935efd7593e5f529",
      "value": 440449768
     }
    },
    "a6d56826c1574c2fba282b25a634683d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_6102b42aa48745ff85859256bd3dff01",
      "placeholder": "​",
      "style": "IPY_MODEL_0e183026a9024bcaa2a8b762b4f5bbf8",
      "value": " 440M/440M [00:01&lt;00:00, 249MB/s]"
     }
    },
    "d17ec35376a74e2984b3bf56776f3e88": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c2091c0e8cfb410b8ee73b8d93778829": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "facdd07946854ef8bb587080fa17c4b0": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "338a68b7cbc64cf685e1775260ef519f": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "10879a0da7004026935efd7593e5f529": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "6102b42aa48745ff85859256bd3dff01": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "0e183026a9024bcaa2a8b762b4f5bbf8": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "7e104e00cb6848638be3853c498018a8": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_af665e31f48248b5950f05f10c426d42",
       "IPY_MODEL_48286038c4f94f778b5bfc7ef2b54058",
       "IPY_MODEL_10f92a5bdc0444a4bf6ef65b6ecb9f1f"
      ],
      "layout": "IPY_MODEL_6b634ec9471440e78449cfe9b0b7850d"
     }
    },
    "af665e31f48248b5950f05f10c426d42": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_6137abf43dd54772b1323df052db9c48",
      "placeholder": "​",
      "style": "IPY_MODEL_fe0e83d3cc2e4768ab9919a1fc12b791",
      "value": "100%"
     }
    },
    "48286038c4f94f778b5bfc7ef2b54058": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_485f02cbe1ac4718bd8194d19a6ea109",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_4c17d10cb39f450bbbae38841a88040b",
      "value": 2105
     }
    },
    "10f92a5bdc0444a4bf6ef65b6ecb9f1f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_714bcb3b903f4aa2b50e56f06d6dd100",
      "placeholder": "​",
      "style": "IPY_MODEL_568e2bb8896e48b88586bffd358aad51",
      "value": " 2105/2105 [02:21&lt;00:00, 14.79it/s]"
     }
    },
    "6b634ec9471440e78449cfe9b0b7850d": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "6137abf43dd54772b1323df052db9c48": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "fe0e83d3cc2e4768ab9919a1fc12b791": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "485f02cbe1ac4718bd8194d19a6ea109": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "4c17d10cb39f450bbbae38841a88040b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "714bcb3b903f4aa2b50e56f06d6dd100": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "568e2bb8896e48b88586bffd358aad51": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "31fd92658fa14b12bf079cb5871b576f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_20b523ca8ab148af83e93a82c4eecfd3",
       "IPY_MODEL_75536117efd14f088ee8241f38e032c7",
       "IPY_MODEL_bab84f50d6344663a51cbded8769125f"
      ],
      "layout": "IPY_MODEL_28e60490bf544347ad2a0fe5c0c24173"
     }
    },
    "20b523ca8ab148af83e93a82c4eecfd3": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f488f57877d2479b968cab461da83128",
      "placeholder": "​",
      "style": "IPY_MODEL_1804dd8882274cb48ad096a995892c22",
      "value": "100%"
     }
    },
    "75536117efd14f088ee8241f38e032c7": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_84a0a04ef3444ac6a6805137f34a37fb",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_f8a78ac822c542efa213f79aaf45e94a",
      "value": 2105
     }
    },
    "bab84f50d6344663a51cbded8769125f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_ded732d21fe04dc08f418eb2575e8dba",
      "placeholder": "​",
      "style": "IPY_MODEL_0140c9e5c835488f8a98b78cf08f88e6",
      "value": " 2105/2105 [02:30&lt;00:00, 14.22it/s]"
     }
    },
    "28e60490bf544347ad2a0fe5c0c24173": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f488f57877d2479b968cab461da83128": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "1804dd8882274cb48ad096a995892c22": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "84a0a04ef3444ac6a6805137f34a37fb": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f8a78ac822c542efa213f79aaf45e94a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "ded732d21fe04dc08f418eb2575e8dba": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "0140c9e5c835488f8a98b78cf08f88e6": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "beea705fa5ae44fb8ec9eebe83f14681": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_670418314edc4f08beef291cd928c55e",
       "IPY_MODEL_539beb0966c84d4aa7e9da6417f03224",
       "IPY_MODEL_37bf9c8a7fdc43e28366d13a43d5fd89"
      ],
      "layout": "IPY_MODEL_f95e79e39982462096a76412ea77c1c2"
     }
    },
    "670418314edc4f08beef291cd928c55e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_dbbfa1c10fcb44f9945f5474d7b47873",
      "placeholder": "​",
      "style": "IPY_MODEL_8cf76341792d4480b71ae13a31beea9a",
      "value": "100%"
     }
    },
    "539beb0966c84d4aa7e9da6417f03224": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_7d0c07607296419fa9bfe94c28719d8e",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_c4d74dfe0fa74116b68c2131517d142e",
      "value": 2105
     }
    },
    "37bf9c8a7fdc43e28366d13a43d5fd89": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_4732e7ec5a9d4a558aa19364b4a253e1",
      "placeholder": "​",
      "style": "IPY_MODEL_f080d737783a4b03b8f1b869f56194a1",
      "value": " 2105/2105 [02:31&lt;00:00, 13.54it/s]"
     }
    },
    "f95e79e39982462096a76412ea77c1c2": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "dbbfa1c10fcb44f9945f5474d7b47873": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "8cf76341792d4480b71ae13a31beea9a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "7d0c07607296419fa9bfe94c28719d8e": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c4d74dfe0fa74116b68c2131517d142e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "4732e7ec5a9d4a558aa19364b4a253e1": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f080d737783a4b03b8f1b869f56194a1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "1abb1f6d8f3e467083305310990f4165": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_43b1c2b104e34fcfbb186932cea432f4",
       "IPY_MODEL_3a93fe25dc1f44febee7e4cf1752ae43",
       "IPY_MODEL_f9ad8655d91c4adba0b2a785bf37bbb9"
      ],
      "layout": "IPY_MODEL_db0b015ce578409cae767bb8f4d24207"
     }
    },
    "43b1c2b104e34fcfbb186932cea432f4": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_9d4b8c2456484634aca01595409cb273",
      "placeholder": "​",
      "style": "IPY_MODEL_1ba5f4677eba4c39b908c7600001745d",
      "value": "100%"
     }
    },
    "3a93fe25dc1f44febee7e4cf1752ae43": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_122654e19aac4a34b6ce27b59b2530c5",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_8a2c5b31af9f4663896d6c0a6668e67a",
      "value": 2105
     }
    },
    "f9ad8655d91c4adba0b2a785bf37bbb9": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_c04b2f64f3a24660bb8c579346ee3bf1",
      "placeholder": "​",
      "style": "IPY_MODEL_c0ebfc9457924963ba141f7624aa55ff",
      "value": " 2105/2105 [02:31&lt;00:00, 13.86it/s]"
     }
    },
    "db0b015ce578409cae767bb8f4d24207": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9d4b8c2456484634aca01595409cb273": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "1ba5f4677eba4c39b908c7600001745d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "122654e19aac4a34b6ce27b59b2530c5": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "8a2c5b31af9f4663896d6c0a6668e67a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "c04b2f64f3a24660bb8c579346ee3bf1": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c0ebfc9457924963ba141f7624aa55ff": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "57b5dbf26aa6487cb55af274867f899d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_4967ac0ff0de45a29f9b50955e4cc91e",
       "IPY_MODEL_072669a198ca4bc294d7ef0429032951",
       "IPY_MODEL_ac1058c9a3e64884a5a00ae1dc0c264d"
      ],
      "layout": "IPY_MODEL_5044d763bcdb438db329d535e945a63c"
     }
    },
    "4967ac0ff0de45a29f9b50955e4cc91e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_87a1cea2534d4f8bb66b4bf289333a57",
      "placeholder": "​",
      "style": "IPY_MODEL_8bd7899ce0654e1b91c1005cfeeb8a28",
      "value": "100%"
     }
    },
    "072669a198ca4bc294d7ef0429032951": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_79166971d31b4197abb353a2f68b9b68",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_a85c5b573dbd43cb91137bb897d5c556",
      "value": 2105
     }
    },
    "ac1058c9a3e64884a5a00ae1dc0c264d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_90b51df9bd004d65a08ced5d23e56b57",
      "placeholder": "​",
      "style": "IPY_MODEL_bc9a86dec45847deaa630995d987d1b4",
      "value": " 2105/2105 [02:31&lt;00:00, 13.95it/s]"
     }
    },
    "5044d763bcdb438db329d535e945a63c": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "87a1cea2534d4f8bb66b4bf289333a57": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "8bd7899ce0654e1b91c1005cfeeb8a28": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "79166971d31b4197abb353a2f68b9b68": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "a85c5b573dbd43cb91137bb897d5c556": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "90b51df9bd004d65a08ced5d23e56b57": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "bc9a86dec45847deaa630995d987d1b4": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "9bdfa08b70574fdb99cbbdf6f774163e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_5206b0a309bc4472a4ac21c9a26ccff0",
       "IPY_MODEL_2845e80034624d9c8b50315336925e79",
       "IPY_MODEL_13e75b83da584d928612d40556cc38cc"
      ],
      "layout": "IPY_MODEL_201fb39e18a74b8da96f73e11b52efc3"
     }
    },
    "5206b0a309bc4472a4ac21c9a26ccff0": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_3f5ef10d94f14973b6caafd03274be73",
      "placeholder": "​",
      "style": "IPY_MODEL_e05c63bc06054889a084bc0c08cee0b2",
      "value": "100%"
     }
    },
    "2845e80034624d9c8b50315336925e79": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_bcb2c45ae9a04b45b352912fc7fe1c1d",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_79105c5d3b0d4e889cdbbbb3e4c79439",
      "value": 2105
     }
    },
    "13e75b83da584d928612d40556cc38cc": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f7c1c4b6682a4871b52eb5cdfb5832e1",
      "placeholder": "​",
      "style": "IPY_MODEL_569f196f66b5422196e3c20f01b2a250",
      "value": " 2105/2105 [07:57&lt;00:00,  5.15it/s]"
     }
    },
    "201fb39e18a74b8da96f73e11b52efc3": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "3f5ef10d94f14973b6caafd03274be73": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "e05c63bc06054889a084bc0c08cee0b2": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "bcb2c45ae9a04b45b352912fc7fe1c1d": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "79105c5d3b0d4e889cdbbbb3e4c79439": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "f7c1c4b6682a4871b52eb5cdfb5832e1": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "569f196f66b5422196e3c20f01b2a250": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "d5d8c229fa864b5f9186e3f9be6664b1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_630a04107e9f4c9689a203f239a92b97",
       "IPY_MODEL_05839ae54b9d47a8803ade0695f83556",
       "IPY_MODEL_cbcdc91a2bb849758e2bb0d2789b0937"
      ],
      "layout": "IPY_MODEL_0118ce92fc274cdda87b3fc81bd6128d"
     }
    },
    "630a04107e9f4c9689a203f239a92b97": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_de2ba2dc3a2f4597a94f1568def90b8b",
      "placeholder": "​",
      "style": "IPY_MODEL_3363ce1696d44c8680fab08049e917f4",
      "value": "100%"
     }
    },
    "05839ae54b9d47a8803ade0695f83556": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_87513136bce84daabec0783b542f6a8a",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_66e4e50c6db64ba9abc3b77c7bd48bd5",
      "value": 2105
     }
    },
    "cbcdc91a2bb849758e2bb0d2789b0937": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_090ae96718e24af6b5b07c040b1eab3c",
      "placeholder": "​",
      "style": "IPY_MODEL_84206b4a29464ba683fd74d2e9cf72e4",
      "value": " 2105/2105 [07:55&lt;00:00,  4.66it/s]"
     }
    },
    "0118ce92fc274cdda87b3fc81bd6128d": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "de2ba2dc3a2f4597a94f1568def90b8b": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "3363ce1696d44c8680fab08049e917f4": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "87513136bce84daabec0783b542f6a8a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "66e4e50c6db64ba9abc3b77c7bd48bd5": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "090ae96718e24af6b5b07c040b1eab3c": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "84206b4a29464ba683fd74d2e9cf72e4": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "86e63d145b3044ec98e470e5f412baba": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_2e914280616f4132b41044aa4c6dd5f9",
       "IPY_MODEL_c87e9f95cc83437180f4425c5aae6994",
       "IPY_MODEL_daaa9872f19e4a45bb7227e4361bd8f1"
      ],
      "layout": "IPY_MODEL_e60bed9a696044e9bbe5814b7339ffa2"
     }
    },
    "2e914280616f4132b41044aa4c6dd5f9": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_494bdb2bf8534cc0a7cc3b01ea98590e",
      "placeholder": "​",
      "style": "IPY_MODEL_759d64aeb11d4f6bad93ede8c2ba6ab6",
      "value": "100%"
     }
    },
    "c87e9f95cc83437180f4425c5aae6994": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_2c147408f7f548c9a4bfa5fe3935ca32",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_88fb0af06f61429eb0e2f90994b57b43",
      "value": 2105
     }
    },
    "daaa9872f19e4a45bb7227e4361bd8f1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_91a5001eb4ee4e40b996d915e490bfed",
      "placeholder": "​",
      "style": "IPY_MODEL_eed3e5e6c51e4e898d3413c5a8c0f07b",
      "value": " 2105/2105 [07:56&lt;00:00,  5.23it/s]"
     }
    },
    "e60bed9a696044e9bbe5814b7339ffa2": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "494bdb2bf8534cc0a7cc3b01ea98590e": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "759d64aeb11d4f6bad93ede8c2ba6ab6": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "2c147408f7f548c9a4bfa5fe3935ca32": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "88fb0af06f61429eb0e2f90994b57b43": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "91a5001eb4ee4e40b996d915e490bfed": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "eed3e5e6c51e4e898d3413c5a8c0f07b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "8be4055d58944b919185997549012e43": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_f999b622af8d44c381f1b55a24bbdf3d",
       "IPY_MODEL_abc71d0c96cb44e49b803d123824b152",
       "IPY_MODEL_2a064280434d4a1f979104a05d4e0897"
      ],
      "layout": "IPY_MODEL_8163f4b5dc9249e0bedb18e8032acd58"
     }
    },
    "f999b622af8d44c381f1b55a24bbdf3d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_bc3576b4191c455da2b38d4c831d4353",
      "placeholder": "​",
      "style": "IPY_MODEL_ca5dd20a11994fe0b25202b4a3e06150",
      "value": "100%"
     }
    },
    "abc71d0c96cb44e49b803d123824b152": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_3a670344f48e4d43bd934fe62912b591",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_b7ac5ef1f45f45a68e6c6289f4baae31",
      "value": 2105
     }
    },
    "2a064280434d4a1f979104a05d4e0897": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f87b7295047d4c3c8e46bbd2d9f151ee",
      "placeholder": "​",
      "style": "IPY_MODEL_3f451a86ecc64d96818cbc2f5ab05709",
      "value": " 2105/2105 [07:55&lt;00:00,  4.86it/s]"
     }
    },
    "8163f4b5dc9249e0bedb18e8032acd58": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "bc3576b4191c455da2b38d4c831d4353": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ca5dd20a11994fe0b25202b4a3e06150": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "3a670344f48e4d43bd934fe62912b591": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "b7ac5ef1f45f45a68e6c6289f4baae31": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "f87b7295047d4c3c8e46bbd2d9f151ee": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "3f451a86ecc64d96818cbc2f5ab05709": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "ac40ae1da7f44e6b9374c6c937aa37d1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_47a025ee4ce543bd8ddd638fbba291e1",
       "IPY_MODEL_3f87ca1e921640889e7b13a3f10688ba",
       "IPY_MODEL_275190ccf7424db4b0870c97908636aa"
      ],
      "layout": "IPY_MODEL_17688fa22ed342009f504e92f6087d56"
     }
    },
    "47a025ee4ce543bd8ddd638fbba291e1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_d8e3d488f6be49658023d3052f35eea4",
      "placeholder": "​",
      "style": "IPY_MODEL_c9c39369f9f34f7bb0dff0a26eaa0f57",
      "value": "100%"
     }
    },
    "3f87ca1e921640889e7b13a3f10688ba": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_5b042ccbb928462981cd4af88615356e",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_dfc38e747b7941eeafb3983cdd36521a",
      "value": 2105
     }
    },
    "275190ccf7424db4b0870c97908636aa": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_aaf975f1039944699f445643737c1231",
      "placeholder": "​",
      "style": "IPY_MODEL_55a06b0632f743aa9501f45bffa71e8a",
      "value": " 2105/2105 [07:57&lt;00:00,  4.97it/s]"
     }
    },
    "17688fa22ed342009f504e92f6087d56": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d8e3d488f6be49658023d3052f35eea4": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c9c39369f9f34f7bb0dff0a26eaa0f57": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "5b042ccbb928462981cd4af88615356e": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "dfc38e747b7941eeafb3983cdd36521a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "aaf975f1039944699f445643737c1231": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "55a06b0632f743aa9501f45bffa71e8a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "745413e6ac6a4f1181655119cd071926": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_421437d3bfd6474a8f9933c42c94e248",
       "IPY_MODEL_86c72bd8731542648727b7ca7d5fa522",
       "IPY_MODEL_f11277b214b94fd3a39595249e2ea735"
      ],
      "layout": "IPY_MODEL_56802b1fee1140b7ad3d2b6b93a85835"
     }
    },
    "421437d3bfd6474a8f9933c42c94e248": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_20dbe90d708d4f07919713ff4cad120e",
      "placeholder": "​",
      "style": "IPY_MODEL_848f146174f24db5bbbd1adbaa6c46c0",
      "value": "100%"
     }
    },
    "86c72bd8731542648727b7ca7d5fa522": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_e27425ab86a849d9b2fdd575007eb957",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_2e2a2dad3f68434aaeaf51ebc35b85df",
      "value": 2105
     }
    },
    "f11277b214b94fd3a39595249e2ea735": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_662436e2d3a444f5b35c425d93bca61e",
      "placeholder": "​",
      "style": "IPY_MODEL_cd67d21984564e4a8fc581706abc7a05",
      "value": " 2105/2105 [04:55&lt;00:00,  7.18it/s]"
     }
    },
    "56802b1fee1140b7ad3d2b6b93a85835": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "20dbe90d708d4f07919713ff4cad120e": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "848f146174f24db5bbbd1adbaa6c46c0": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "e27425ab86a849d9b2fdd575007eb957": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "2e2a2dad3f68434aaeaf51ebc35b85df": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "662436e2d3a444f5b35c425d93bca61e": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "cd67d21984564e4a8fc581706abc7a05": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "43773a6412274415a0d89c1ac1ed0279": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_715efda296cd413d98ce3990536f979a",
       "IPY_MODEL_ff3a7b46f6a848fd99bfc925e3d514ba",
       "IPY_MODEL_fc11e4e0ab69424b936dd3fb046cd59e"
      ],
      "layout": "IPY_MODEL_9c5abc8af5064b32925bfe439c9746f9"
     }
    },
    "715efda296cd413d98ce3990536f979a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_e829779232704ff6a30141dbe2c02812",
      "placeholder": "​",
      "style": "IPY_MODEL_0f60e0e053b14e47b9caebdb510ee52a",
      "value": "100%"
     }
    },
    "ff3a7b46f6a848fd99bfc925e3d514ba": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_5a56729327b84e6c85d13f13c2152653",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_9a6d4e314ac24f45b835cad0576d5026",
      "value": 2105
     }
    },
    "fc11e4e0ab69424b936dd3fb046cd59e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_d50f4fa3a9f74199a1c001ee14d891dc",
      "placeholder": "​",
      "style": "IPY_MODEL_c731d76713534020a71ccbc7492179ca",
      "value": " 2105/2105 [04:55&lt;00:00,  7.19it/s]"
     }
    },
    "9c5abc8af5064b32925bfe439c9746f9": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "e829779232704ff6a30141dbe2c02812": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "0f60e0e053b14e47b9caebdb510ee52a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "5a56729327b84e6c85d13f13c2152653": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9a6d4e314ac24f45b835cad0576d5026": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "d50f4fa3a9f74199a1c001ee14d891dc": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c731d76713534020a71ccbc7492179ca": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "bf22f5bd32364cf29482d35c48af6256": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_80a7ec50339443e7a140a3bcc7dd3eb5",
       "IPY_MODEL_5d02079ff2e74ef1b73bb4574888c711",
       "IPY_MODEL_d316709852b645ab93dc793679997399"
      ],
      "layout": "IPY_MODEL_2c7c4dbb6bbd4918b40f545de829e261"
     }
    },
    "80a7ec50339443e7a140a3bcc7dd3eb5": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_1be04ad098c849d1833c4d486d392eae",
      "placeholder": "​",
      "style": "IPY_MODEL_4a765d34ac7841189d33485ffb787396",
      "value": "100%"
     }
    },
    "5d02079ff2e74ef1b73bb4574888c711": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f01233d91c924e9aaaca3644fe61c6e2",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_a849b8ef99fd4baa9d1f2dba8a8b49e7",
      "value": 2105
     }
    },
    "d316709852b645ab93dc793679997399": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_47bbf09dd259489f86e18a4c0c08eadf",
      "placeholder": "​",
      "style": "IPY_MODEL_d5ba83362cc44a12990d69a73cff5cc5",
      "value": " 2105/2105 [04:55&lt;00:00,  7.11it/s]"
     }
    },
    "2c7c4dbb6bbd4918b40f545de829e261": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "1be04ad098c849d1833c4d486d392eae": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "4a765d34ac7841189d33485ffb787396": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "f01233d91c924e9aaaca3644fe61c6e2": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "a849b8ef99fd4baa9d1f2dba8a8b49e7": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "47bbf09dd259489f86e18a4c0c08eadf": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d5ba83362cc44a12990d69a73cff5cc5": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "e5fdb340fa704f6cafe1abb9b5fbadbc": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_64a2d514c96e423c879b3cc2f3af779c",
       "IPY_MODEL_477f8ad055d1492b921de0c519cce650",
       "IPY_MODEL_3701d187110848ddb1acce0b3001787c"
      ],
      "layout": "IPY_MODEL_1e06ba1e55084cf4b90b68188eceac69"
     }
    },
    "64a2d514c96e423c879b3cc2f3af779c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_853f45514c9b4ed885c86816ed1be601",
      "placeholder": "​",
      "style": "IPY_MODEL_167756f99c6f4c0eb9024bf3128bc927",
      "value": "100%"
     }
    },
    "477f8ad055d1492b921de0c519cce650": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8b794690a7f84c088b41dd8beead3847",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_d58110119ea04f4bb7157676e43d5fba",
      "value": 2105
     }
    },
    "3701d187110848ddb1acce0b3001787c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_d44ee8171f1d4e1ba11cef83319ebda6",
      "placeholder": "​",
      "style": "IPY_MODEL_58d5641ac51b46548eac79fe53f3e892",
      "value": " 2105/2105 [04:56&lt;00:00,  6.83it/s]"
     }
    },
    "1e06ba1e55084cf4b90b68188eceac69": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "853f45514c9b4ed885c86816ed1be601": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "167756f99c6f4c0eb9024bf3128bc927": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "8b794690a7f84c088b41dd8beead3847": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d58110119ea04f4bb7157676e43d5fba": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "d44ee8171f1d4e1ba11cef83319ebda6": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "58d5641ac51b46548eac79fe53f3e892": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "7480c6ff1ea74afd84b2771167493b5e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_fcd6c6070a634f529235c1dc7fe88564",
       "IPY_MODEL_b736e58ad7b1405bafde4a865f5ac9b2",
       "IPY_MODEL_9e78678f82574ff2bb083e5938fedbc9"
      ],
      "layout": "IPY_MODEL_96b5758e946d43ff84d9e18af14ecf0a"
     }
    },
    "fcd6c6070a634f529235c1dc7fe88564": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_9435e5e19d0b49e2a89062ea26095181",
      "placeholder": "​",
      "style": "IPY_MODEL_c553b03c35d846c2aa9c970a8a873ae5",
      "value": "100%"
     }
    },
    "b736e58ad7b1405bafde4a865f5ac9b2": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_815ec1da01b34df19097a6d04e2d557f",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_26642da40d044599958c5811a8ef8a6f",
      "value": 2105
     }
    },
    "9e78678f82574ff2bb083e5938fedbc9": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_372626a7c633402d9402bb4efae3268a",
      "placeholder": "​",
      "style": "IPY_MODEL_fe78461196b6425a9c68bed2e79a17d7",
      "value": " 2105/2105 [04:56&lt;00:00,  6.89it/s]"
     }
    },
    "96b5758e946d43ff84d9e18af14ecf0a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9435e5e19d0b49e2a89062ea26095181": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c553b03c35d846c2aa9c970a8a873ae5": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "815ec1da01b34df19097a6d04e2d557f": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "26642da40d044599958c5811a8ef8a6f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "372626a7c633402d9402bb4efae3268a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "fe78461196b6425a9c68bed2e79a17d7": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "6547c94100fc4c93aa961371da3f8a49": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_9092a1ae337e4cbcab28cac64fb6915f",
       "IPY_MODEL_ca538ed0e910433c98eca74e130fbc23",
       "IPY_MODEL_0baaebf492514c1dbec37d89068b58b4"
      ],
      "layout": "IPY_MODEL_5db983714dd74ae6b2dbba29613714f2"
     }
    },
    "9092a1ae337e4cbcab28cac64fb6915f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_d6cf478794054232a4383145001586e3",
      "placeholder": "​",
      "style": "IPY_MODEL_0fc8fce10ac1490e820a0b9fa772d157",
      "value": "100%"
     }
    },
    "ca538ed0e910433c98eca74e130fbc23": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_89003556aabf4af197a43e5b722ddafa",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_ecf48b2c75b8445787bef2675376c57d",
      "value": 2105
     }
    },
    "0baaebf492514c1dbec37d89068b58b4": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f302cd20370f43989f4e1e052cf17d7d",
      "placeholder": "​",
      "style": "IPY_MODEL_2ec15c406a7a499f82dbdd5677f6d853",
      "value": " 2105/2105 [08:13&lt;00:00,  4.62it/s]"
     }
    },
    "5db983714dd74ae6b2dbba29613714f2": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d6cf478794054232a4383145001586e3": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "0fc8fce10ac1490e820a0b9fa772d157": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "89003556aabf4af197a43e5b722ddafa": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ecf48b2c75b8445787bef2675376c57d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "f302cd20370f43989f4e1e052cf17d7d": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "2ec15c406a7a499f82dbdd5677f6d853": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "29b2ebb9ac574e2bbbe795bbd96ab34e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_f460193d5e774822905aeccb069bef8a",
       "IPY_MODEL_3c14da2d29c348979f1f08ee3c770f27",
       "IPY_MODEL_b70d46f3abc64de384ceb9a7101a01b5"
      ],
      "layout": "IPY_MODEL_680ac32e393f48518e4cd9229797d800"
     }
    },
    "f460193d5e774822905aeccb069bef8a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_02c5e4ee5b774a0d8b9cc5d9a773c753",
      "placeholder": "​",
      "style": "IPY_MODEL_127e8e70e2774867a537dd6b73e8f2eb",
      "value": "100%"
     }
    },
    "3c14da2d29c348979f1f08ee3c770f27": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_6c384290bb784dd78d0a89414e79df7e",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_341fe7d36898424297e8f40a6db7b53d",
      "value": 2105
     }
    },
    "b70d46f3abc64de384ceb9a7101a01b5": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_bd121c1a6bc743f29d335a0b27659c03",
      "placeholder": "​",
      "style": "IPY_MODEL_315d45bb634846adb437b0dafec2fe6f",
      "value": " 2105/2105 [08:13&lt;00:00,  4.71it/s]"
     }
    },
    "680ac32e393f48518e4cd9229797d800": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "02c5e4ee5b774a0d8b9cc5d9a773c753": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "127e8e70e2774867a537dd6b73e8f2eb": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "6c384290bb784dd78d0a89414e79df7e": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "341fe7d36898424297e8f40a6db7b53d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "bd121c1a6bc743f29d335a0b27659c03": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "315d45bb634846adb437b0dafec2fe6f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "e325bb01531a4148867a98dbf534689a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_27f869e6eaa249f09deb773af57fd3ff",
       "IPY_MODEL_5410ba9256814d628f1358414f7a70dd",
       "IPY_MODEL_41a523c1746b45299ebffa133b6a0250"
      ],
      "layout": "IPY_MODEL_7855acd65c8c448591447ab3e8e02112"
     }
    },
    "27f869e6eaa249f09deb773af57fd3ff": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_02b0cc45421f485d892ce061c314a8ed",
      "placeholder": "​",
      "style": "IPY_MODEL_476d06f0487a43d0839411f8f54d0b90",
      "value": "100%"
     }
    },
    "5410ba9256814d628f1358414f7a70dd": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_c5e25d14ee92434dabc33ea77bb75a02",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_8862dc628c00423fa4c0ea6da2e324c8",
      "value": 2105
     }
    },
    "41a523c1746b45299ebffa133b6a0250": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_179fe6664bbd42009522b9496d5a5e26",
      "placeholder": "​",
      "style": "IPY_MODEL_7452fa0e022d489992bdd71a2643fdab",
      "value": " 2105/2105 [08:12&lt;00:00,  4.98it/s]"
     }
    },
    "7855acd65c8c448591447ab3e8e02112": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "02b0cc45421f485d892ce061c314a8ed": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "476d06f0487a43d0839411f8f54d0b90": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "c5e25d14ee92434dabc33ea77bb75a02": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "8862dc628c00423fa4c0ea6da2e324c8": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "179fe6664bbd42009522b9496d5a5e26": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "7452fa0e022d489992bdd71a2643fdab": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "2050fb22a16e4214ad27855be2f0f02a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_b36a0ce4e6c54d9a8ab42fea6cb5cef5",
       "IPY_MODEL_48b3f546357f4ed09828b5b35da661b3",
       "IPY_MODEL_853b837d99c4476292b69935cfb5cece"
      ],
      "layout": "IPY_MODEL_69ba22f8d64242489477911847271205"
     }
    },
    "b36a0ce4e6c54d9a8ab42fea6cb5cef5": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_eded6648f1ee40ad89de053362a940d3",
      "placeholder": "​",
      "style": "IPY_MODEL_7e78184c31ba419d9ad7cbfd8065b103",
      "value": "100%"
     }
    },
    "48b3f546357f4ed09828b5b35da661b3": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_6c530af49420454abe5fc716f7e5bc3a",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_54cfce37c0d745ea9143b13d73d48480",
      "value": 2105
     }
    },
    "853b837d99c4476292b69935cfb5cece": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_adc8f7a242ec450ba607c770c980f738",
      "placeholder": "​",
      "style": "IPY_MODEL_d0610c2328b24b1a88399777e0fc812f",
      "value": " 2105/2105 [08:13&lt;00:00,  4.93it/s]"
     }
    },
    "69ba22f8d64242489477911847271205": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "eded6648f1ee40ad89de053362a940d3": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "7e78184c31ba419d9ad7cbfd8065b103": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "6c530af49420454abe5fc716f7e5bc3a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "54cfce37c0d745ea9143b13d73d48480": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "adc8f7a242ec450ba607c770c980f738": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d0610c2328b24b1a88399777e0fc812f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "47ef73b33bcd44d5a108ad394706853f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_4693484663d24d4eb3b33083521de2cb",
       "IPY_MODEL_86261e2b228d43248e69e5d72e294c66",
       "IPY_MODEL_431118d3689a49cb82c3925617981bed"
      ],
      "layout": "IPY_MODEL_369382e5c2704c7487894669c6ec3d09"
     }
    },
    "4693484663d24d4eb3b33083521de2cb": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_62ab9ccdaafa4fac9bb66d0f5e78ab7e",
      "placeholder": "​",
      "style": "IPY_MODEL_dbb474ba3ef54a51ace3f83324059706",
      "value": "100%"
     }
    },
    "86261e2b228d43248e69e5d72e294c66": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_48a7dde9f1f44eb285e5b2937f3426e4",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_7b8f9c0293bd475bba9c3f3b66092aa1",
      "value": 2105
     }
    },
    "431118d3689a49cb82c3925617981bed": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_556372770c424c72a6071698220c0dce",
      "placeholder": "​",
      "style": "IPY_MODEL_e894a604aabc4b8890357696df0d4019",
      "value": " 2105/2105 [08:11&lt;00:00,  5.09it/s]"
     }
    },
    "369382e5c2704c7487894669c6ec3d09": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "62ab9ccdaafa4fac9bb66d0f5e78ab7e": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "dbb474ba3ef54a51ace3f83324059706": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "48a7dde9f1f44eb285e5b2937f3426e4": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "7b8f9c0293bd475bba9c3f3b66092aa1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "556372770c424c72a6071698220c0dce": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "e894a604aabc4b8890357696df0d4019": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "72ab0520513648e9a5386a6ae9188dfd": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_847c341b8d654d81b400f5ac1434fb9a",
       "IPY_MODEL_3b97367e9bff495b9885a1424c9ca323",
       "IPY_MODEL_808aef19609f4f9f86cb016deafd4d69"
      ],
      "layout": "IPY_MODEL_5524abfa352b4949b78994981b8a02b5"
     }
    },
    "847c341b8d654d81b400f5ac1434fb9a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_c16ecb284bcb436a92140e8299f4ab51",
      "placeholder": "​",
      "style": "IPY_MODEL_d43af03c97d4463eb0ee5d468ef57177",
      "value": "100%"
     }
    },
    "3b97367e9bff495b9885a1424c9ca323": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_a6b09fad9c2741b49b970eceb1bb0951",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_4921af57409347a6bdc35e8e62ea3032",
      "value": 2105
     }
    },
    "808aef19609f4f9f86cb016deafd4d69": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_238662ee814846a2972873acbafed551",
      "placeholder": "​",
      "style": "IPY_MODEL_1310686e330b4423aefa0e34d4143a75",
      "value": " 2105/2105 [06:52&lt;00:00,  5.05it/s]"
     }
    },
    "5524abfa352b4949b78994981b8a02b5": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c16ecb284bcb436a92140e8299f4ab51": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d43af03c97d4463eb0ee5d468ef57177": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "a6b09fad9c2741b49b970eceb1bb0951": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "4921af57409347a6bdc35e8e62ea3032": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "238662ee814846a2972873acbafed551": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "1310686e330b4423aefa0e34d4143a75": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "59fb18cacf244b7f972a7a0c1229ab81": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_1cf93b09f770423c98b73d5ff3664cf7",
       "IPY_MODEL_9bd661e6ac214155b8ee14b03f1c0121",
       "IPY_MODEL_55be390369be40e6ad1d0c20ad258301"
      ],
      "layout": "IPY_MODEL_feb8091a986f4f7e99b715cde42c87b3"
     }
    },
    "1cf93b09f770423c98b73d5ff3664cf7": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_41d596e4607b4feea57060d37eb04737",
      "placeholder": "​",
      "style": "IPY_MODEL_107942befb5e45c2b058551450c9dc1f",
      "value": "100%"
     }
    },
    "9bd661e6ac214155b8ee14b03f1c0121": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8acc3af5dbf2444b9fbf39e16558e0d9",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_2716b248c4a24a84a4272f117c288d59",
      "value": 2105
     }
    },
    "55be390369be40e6ad1d0c20ad258301": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_31f84e6246a24c46bcbc0d8c86896e66",
      "placeholder": "​",
      "style": "IPY_MODEL_323e83dfab2b40c4a3be2da3032c06cf",
      "value": " 2105/2105 [06:52&lt;00:00,  5.69it/s]"
     }
    },
    "feb8091a986f4f7e99b715cde42c87b3": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "41d596e4607b4feea57060d37eb04737": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "107942befb5e45c2b058551450c9dc1f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "8acc3af5dbf2444b9fbf39e16558e0d9": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "2716b248c4a24a84a4272f117c288d59": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "31f84e6246a24c46bcbc0d8c86896e66": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "323e83dfab2b40c4a3be2da3032c06cf": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "0f0a1de316c0486cacc45438bc067f3c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_6cfde4cd2b184f9c8a52b41aa4e50b5d",
       "IPY_MODEL_293908eb299b40cfa23b1ce6b81ec620",
       "IPY_MODEL_9a908fe6e4d046ab814debd30e2eeeca"
      ],
      "layout": "IPY_MODEL_6fa3925358e549bf943514cf9207f294"
     }
    },
    "6cfde4cd2b184f9c8a52b41aa4e50b5d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_843445f6e9fa4f9f8f7a05777801039a",
      "placeholder": "​",
      "style": "IPY_MODEL_598fd001a40847ba821421440937cb7b",
      "value": "100%"
     }
    },
    "293908eb299b40cfa23b1ce6b81ec620": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_ee658a8602934efc9b40fc5761cc062d",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_a0c8dcdf0ff847eb817bbdb71673d080",
      "value": 2105
     }
    },
    "9a908fe6e4d046ab814debd30e2eeeca": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f6b45442d6dc4db6b332d7984591fbd1",
      "placeholder": "​",
      "style": "IPY_MODEL_0111cb2e672f453cb3cde249a092415b",
      "value": " 2105/2105 [06:51&lt;00:00,  4.94it/s]"
     }
    },
    "6fa3925358e549bf943514cf9207f294": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "843445f6e9fa4f9f8f7a05777801039a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "598fd001a40847ba821421440937cb7b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "ee658a8602934efc9b40fc5761cc062d": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "a0c8dcdf0ff847eb817bbdb71673d080": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "f6b45442d6dc4db6b332d7984591fbd1": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "0111cb2e672f453cb3cde249a092415b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "8eca9a0b2ec14a40aeb355b9e0e9121f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_331e9873d5a94d99bc17f9e02111218e",
       "IPY_MODEL_ded94bfb9f284cd195176bec1ea10f6f",
       "IPY_MODEL_229033e8b5d24d988f3aa8713c2254aa"
      ],
      "layout": "IPY_MODEL_5955b8ad654f42a09005417bd14f0b0f"
     }
    },
    "331e9873d5a94d99bc17f9e02111218e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_19798b6f8d3940d8937b10a36be4e009",
      "placeholder": "​",
      "style": "IPY_MODEL_ffa7be43e90543989bb8a3ef817137da",
      "value": "100%"
     }
    },
    "ded94bfb9f284cd195176bec1ea10f6f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_08191a05fee241929b74162becc8995a",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_c542aed35ecf42e188406c461daaf63e",
      "value": 2105
     }
    },
    "229033e8b5d24d988f3aa8713c2254aa": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_b65ab322a14d4611ace7de3580279eec",
      "placeholder": "​",
      "style": "IPY_MODEL_c9b726562f5846099ccef27365051230",
      "value": " 2105/2105 [06:51&lt;00:00,  5.38it/s]"
     }
    },
    "5955b8ad654f42a09005417bd14f0b0f": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "19798b6f8d3940d8937b10a36be4e009": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ffa7be43e90543989bb8a3ef817137da": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "08191a05fee241929b74162becc8995a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c542aed35ecf42e188406c461daaf63e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "b65ab322a14d4611ace7de3580279eec": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c9b726562f5846099ccef27365051230": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "469832d473f34fd79a0e57a7756d0ee4": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_3db71a6f93bf47caae37b648b6d32ccf",
       "IPY_MODEL_9cfa8ac4ae8641a4809f43d5895e887e",
       "IPY_MODEL_0490a8ec52c040ad8d2052f46cf43699"
      ],
      "layout": "IPY_MODEL_e7a023333e09433682febfb559ff8cc6"
     }
    },
    "3db71a6f93bf47caae37b648b6d32ccf": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_b8f40e4800e94652850d290e574803f1",
      "placeholder": "​",
      "style": "IPY_MODEL_17c70312c6fa4610a6b7574073883819",
      "value": "100%"
     }
    },
    "9cfa8ac4ae8641a4809f43d5895e887e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_a48d4b6132044bba95c6b540d5eb873b",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_b9d6aceea4ff473387ff1fe3bb222b24",
      "value": 2105
     }
    },
    "0490a8ec52c040ad8d2052f46cf43699": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_504eca07441e4fb79700b6955e7841d3",
      "placeholder": "​",
      "style": "IPY_MODEL_e2efa7776f964285a15d217b0fddb9a2",
      "value": " 2105/2105 [06:51&lt;00:00,  5.79it/s]"
     }
    },
    "e7a023333e09433682febfb559ff8cc6": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "b8f40e4800e94652850d290e574803f1": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "17c70312c6fa4610a6b7574073883819": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "a48d4b6132044bba95c6b540d5eb873b": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "b9d6aceea4ff473387ff1fe3bb222b24": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "504eca07441e4fb79700b6955e7841d3": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "e2efa7776f964285a15d217b0fddb9a2": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "38d19a35ce474fe58ac398edfbf14a81": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_37e71814a62e451dba4ba7f2554f9815",
       "IPY_MODEL_5e269215b89e44299cf61576b8f69027",
       "IPY_MODEL_18dcf1f5fcb948029a73468281fef607"
      ],
      "layout": "IPY_MODEL_e0ee0c3f3e5a4653b71a9c2c5d765f07"
     }
    },
    "37e71814a62e451dba4ba7f2554f9815": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_aba113a02d70466b960b7471ca07c633",
      "placeholder": "​",
      "style": "IPY_MODEL_6c15cc13193d483f9f7b312d8532b623",
      "value": "100%"
     }
    },
    "5e269215b89e44299cf61576b8f69027": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_7c7a82a635924453a681b23909f63b2c",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_bc571f7ded3249f98611afdf5f46c9d9",
      "value": 2105
     }
    },
    "18dcf1f5fcb948029a73468281fef607": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_3748830cf044466a9a683ca886b7ab19",
      "placeholder": "​",
      "style": "IPY_MODEL_9f280d3df3e942ed903e857fe18e7f9b",
      "value": " 2105/2105 [06:53&lt;00:00,  5.43it/s]"
     }
    },
    "e0ee0c3f3e5a4653b71a9c2c5d765f07": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "aba113a02d70466b960b7471ca07c633": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "6c15cc13193d483f9f7b312d8532b623": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "7c7a82a635924453a681b23909f63b2c": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "bc571f7ded3249f98611afdf5f46c9d9": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "3748830cf044466a9a683ca886b7ab19": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9f280d3df3e942ed903e857fe18e7f9b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "61383dde108143e38e255e1b6870dbca": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_79d25ab72fb3418cb3639f0eec66775e",
       "IPY_MODEL_6ca931af97a94cb7b35790a58ee1fa1b",
       "IPY_MODEL_62ff7c403cbf482e8ddbc20770732528"
      ],
      "layout": "IPY_MODEL_0501b51f5b5b4d2b8f2bab9dba12c2c0"
     }
    },
    "79d25ab72fb3418cb3639f0eec66775e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_2711a8bda487452fa930ef2d3697baab",
      "placeholder": "​",
      "style": "IPY_MODEL_310f5ca5f4ae40049c7100c5f09a4cf5",
      "value": "100%"
     }
    },
    "6ca931af97a94cb7b35790a58ee1fa1b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_ddaa85b043cc4839a1a6e53fe7a446dd",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_332bffe81f4848e6bd5b862e9b494485",
      "value": 2105
     }
    },
    "62ff7c403cbf482e8ddbc20770732528": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_dc411c6fa73041d7904563bece0960bd",
      "placeholder": "​",
      "style": "IPY_MODEL_766b10b9573a44eeb531855fd07a52a5",
      "value": " 2105/2105 [06:52&lt;00:00,  5.68it/s]"
     }
    },
    "0501b51f5b5b4d2b8f2bab9dba12c2c0": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "2711a8bda487452fa930ef2d3697baab": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "310f5ca5f4ae40049c7100c5f09a4cf5": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "ddaa85b043cc4839a1a6e53fe7a446dd": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "332bffe81f4848e6bd5b862e9b494485": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "dc411c6fa73041d7904563bece0960bd": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "766b10b9573a44eeb531855fd07a52a5": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "2725a5b3ef44469e9f473d414afbb1dd": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_6746893962774b14b2dd27aa3029e261",
       "IPY_MODEL_05eaa99edca049889ad7a864d1a29e03",
       "IPY_MODEL_c375e3f0e382403fad49cb65f7e8a1c3"
      ],
      "layout": "IPY_MODEL_a6e1fb92e4024d8c988e75a51000a5c0"
     }
    },
    "6746893962774b14b2dd27aa3029e261": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_6e401a4886b74889b4c8b64bc57f8496",
      "placeholder": "​",
      "style": "IPY_MODEL_3077fbf9e93b4d3f82e95fc4da01f6de",
      "value": "100%"
     }
    },
    "05eaa99edca049889ad7a864d1a29e03": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_62a85f14b5764ccfa90ae11b15bfea6b",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_d509a29f38ab4c79a007e0fc265454ed",
      "value": 2105
     }
    },
    "c375e3f0e382403fad49cb65f7e8a1c3": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_2af98d7526b7499da8356c5816ab3f03",
      "placeholder": "​",
      "style": "IPY_MODEL_0bd29aefdc65499a91df5719824c35af",
      "value": " 2105/2105 [06:53&lt;00:00,  6.18it/s]"
     }
    },
    "a6e1fb92e4024d8c988e75a51000a5c0": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "6e401a4886b74889b4c8b64bc57f8496": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "3077fbf9e93b4d3f82e95fc4da01f6de": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "62a85f14b5764ccfa90ae11b15bfea6b": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d509a29f38ab4c79a007e0fc265454ed": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "2af98d7526b7499da8356c5816ab3f03": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "0bd29aefdc65499a91df5719824c35af": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "fd8311d666974f77a2bef50327810d53": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_b73ff84682644470aa61ab4f6261be91",
       "IPY_MODEL_0872371c779d41d69359c60b8571d38a",
       "IPY_MODEL_b0ab6bab56b148689e47da275dd9006e"
      ],
      "layout": "IPY_MODEL_e9427f461f9a420b8f960ccc87aa3d2f"
     }
    },
    "b73ff84682644470aa61ab4f6261be91": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_377d503b47634bd8b605f5c5d554b97a",
      "placeholder": "​",
      "style": "IPY_MODEL_bcb882b0bfd149a79c4a92124bfed84d",
      "value": "100%"
     }
    },
    "0872371c779d41d69359c60b8571d38a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_bce8dab56d454e6fbc340f7f4cdff3be",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_631d2b18707f4b23aa45180fa330f8c4",
      "value": 2105
     }
    },
    "b0ab6bab56b148689e47da275dd9006e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_323fbceec03940439cbf0ccdefe7a680",
      "placeholder": "​",
      "style": "IPY_MODEL_d31610947a0f44eda83b965414076116",
      "value": " 2105/2105 [06:52&lt;00:00,  5.82it/s]"
     }
    },
    "e9427f461f9a420b8f960ccc87aa3d2f": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "377d503b47634bd8b605f5c5d554b97a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "bcb882b0bfd149a79c4a92124bfed84d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "bce8dab56d454e6fbc340f7f4cdff3be": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "631d2b18707f4b23aa45180fa330f8c4": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "323fbceec03940439cbf0ccdefe7a680": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d31610947a0f44eda83b965414076116": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "3e07f93c25294dc6b3849b3a5aa8e06c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_a8ce275923f046f09e8f75b6f36ea27a",
       "IPY_MODEL_b2a096c7e6d8442e88bc4b8d4aac546d",
       "IPY_MODEL_f979e63d307f4ed1a2ab06e038105832"
      ],
      "layout": "IPY_MODEL_d704e1ea666047e8a575ad3bb4d3a98b"
     }
    },
    "a8ce275923f046f09e8f75b6f36ea27a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_2f7b62015f4144a492b7e4c7389cc2a9",
      "placeholder": "​",
      "style": "IPY_MODEL_4d9f83d9f41f43adb8526b48682380bf",
      "value": "100%"
     }
    },
    "b2a096c7e6d8442e88bc4b8d4aac546d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_e267e4407dd94cf5a2ee91d6b9406d5d",
      "max": 2105,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_a0128e90d07e4e9fa3df3962daf4a7fb",
      "value": 2105
     }
    },
    "f979e63d307f4ed1a2ab06e038105832": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_9a566ee5d4bb4f33b3cb1d0e42f8c8b7",
      "placeholder": "​",
      "style": "IPY_MODEL_6370a9a264bd4bc8a237082836dd3759",
      "value": " 2105/2105 [06:52&lt;00:00,  5.73it/s]"
     }
    },
    "d704e1ea666047e8a575ad3bb4d3a98b": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "2f7b62015f4144a492b7e4c7389cc2a9": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "4d9f83d9f41f43adb8526b48682380bf": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "e267e4407dd94cf5a2ee91d6b9406d5d": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "a0128e90d07e4e9fa3df3962daf4a7fb": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "9a566ee5d4bb4f33b3cb1d0e42f8c8b7": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "6370a9a264bd4bc8a237082836dd3759": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
